MySQL查询问题,根据级别分组,后组内排序,再取前三
本帖最后由 阳明行知 于 2012-3-15 10:25 编辑表 score
字段 cid 班级编号
sid 学生编号
score分数
查询要求:根据班级分组 ,根据分数降序 排序 取前三名
例如:
cid sid score
1 1 90
1 2 80
1 3 70
2 2 95
2 5 86
2 3 85
3 8 95
3 2 85
3 1 70
这个把我给弄纠结了!
select top(3) * from
(select cid,sum(score) as scorefrom表
group by cid) as s
order bys.score desc 这里是MySQL数据库专区呀!
MySQL数据库里没有top的语法,一般是使用limit关键字。
还是谢谢你热心回答! 今天很背,来碰运气的,别怪我啊!! 强烈支持楼主ing…… 真是被感动的痛哭流涕……:loveliness:;P 没看明白什么意思,是取各班的前三名?各班的第一名合成前三名?还是不管班级的取前三名? select limit 0,3 * from
(select cid,sum(score)from表score
group by cid) as s
order bys.score desc 冲着奖励来了 学习学习。
页:
[1]