博客
关于我
查询每班前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主从篇:死磕主从复制中数据同步原理与优化
查看>>
mysql主从配置
查看>>
MySQL之2003-Can‘t connect to MySQL server on ‘localhost‘(10038)的解决办法
查看>>
MySQL之CRUD
查看>>
MySQL之DML
查看>>
Mysql之IN 和 Exists 用法
查看>>
MYSQL之REPLACE INTO和INSERT … ON DUPLICATE KEY UPDATE用法
查看>>
MySQL之SQL语句优化步骤
查看>>
MYSQL之union和order by分析([Err] 1221 - Incorrect usage of UNION and ORDER BY)
查看>>
Mysql之主从复制
查看>>
MySQL之函数
查看>>
mysql之分组查询GROUP BY,HAVING
查看>>
mysql之分页查询
查看>>
Mysql之备份与恢复
查看>>
mysql之子查询
查看>>
MySQL之字符串函数
查看>>
mysql之常见函数
查看>>
Mysql之性能优化--索引的使用
查看>>
mysql之旅【第一篇】
查看>>
Mysql之索引选择及优化
查看>>