阳明行知 发表于 2012-3-10 14:54:17

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
这个把我给弄纠结了!

raotf 发表于 2012-3-11 19:39:37

select top(3) * from
(select cid,sum(score) as scorefrom表
group by cid) as s
order bys.score desc

阳明行知 发表于 2012-3-12 11:59:10

这里是MySQL数据库专区呀!
MySQL数据库里没有top的语法,一般是使用limit关键字。
还是谢谢你热心回答!

小明上广州 发表于 2013-3-14 12:28:46

今天很背,来碰运气的,别怪我啊!!

pcode 发表于 2013-4-7 22:41:21

强烈支持楼主ing……

娿丶怖娃娃 发表于 2013-4-9 11:36:46

真是被感动的痛哭流涕……:loveliness:;P

xiawb 发表于 2013-11-6 10:51:41

没看明白什么意思,是取各班的前三名?各班的第一名合成前三名?还是不管班级的取前三名?

乱闯 发表于 2013-11-7 12:10:12

select limit 0,3 * from
(select cid,sum(score)from表score
group by cid) as s
order bys.score desc

正在写代码 发表于 2013-12-27 20:51:34

冲着奖励来了

shvv 发表于 2014-1-8 13:57:30

学习学习。
页: [1]
查看完整版本: MySQL查询问题,根据级别分组,后组内排序,再取前三