同一个数据库DB1里一共有12个表,名称是: table01-2014, table02-20154, ... table12-2014.
每个表的定义都一样,有如下3列 (UserId在每个表里都代表一个人):
UserId; UserName; Class; Score
0001; Chinese; 70
0001; English; 50
0002; English; 70
0003; English; 80
0001; Math; 90
0003; Math; 80
0004; Chinese; 60
...
现在需要把每个表的Score列从高到底排序,然后得到每个表的前三名(取3个唯一的UserId), 再查出在12个表里出现次数最多的(不一定是得分最高的)UserId的前10,并且列出如下信息:
UserId; Avg(Score) ; Max(Score); Min(Score)
Avg(Score)是这个UserId在所有12个表里的所有科目的平均分
Max(Score)是这个UserId在所有12个表里的所有科目的最高分
Min(Score)是这个UserId在所有12个表里的所有科目的最低分
------解决思路----------------------
是的。用 MIN(score) 代替 MAX(score),正序排名。