博客
关于我
查询每班前3的学生
阅读量:649 次
发布时间:2019-03-15

本文共 235 字,大约阅读时间需要 1 分钟。

SELECT    *FROM    `student` as swhere    (select count(1)+1 from student where cid=s.cid and s.score
<=3

思路是查询当前学生,比子查询(所有学生)中分数低的不超过三个,其中自己是相等,子查询结果为3的是第3,用s.score<score而不是<=是避免并列不显示(即这样可以把两个并列第三的都显示出来),相同班级用两个学生记录对比,而不是分组。

转载地址:http://znkmz.baihongyu.com/

你可能感兴趣的文章
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>