有3个班或者更多,每个班有人数不等的学生,学生都有自己的综合评分,
现在每个学生的信息包括班级,自己的评分都在一个表里面,
我想用一条SQL语句查询每个班里评分前3名的学生,该如何查呢?
select * from `表名` ORDER BY `综合评分字段` DESC LIMIT 3;
但是这样得不到每个班里评分前3名的学生记录啊
这样查询的结果是对所有学生排名后得出前3名的记录,跟我要求的不同
还是让程序去做吧,也跟给数据库减减负~~
下面的只能查出每班的第一名
SELECT *
FROM (
SELECT *
FROM class
ORDER BY grade DESC
) AS t
WHERE 1
GROUP BY class;
ORDER BY class
LIMIT 9
select * from `表名` ORDER BY `综合评分字段名` DESC LIMIT 3;
什么不行,
晕.你试下就知道.
哦,我看错了
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 语句 查询 执行 请教 学生 评分 BY 每个 ORDER 综合 这样 |
注册
个人空间
