mysql求最大第二,最大第三个数


题目是这样的:

 

     集团有多个部门,部门下有多个员工,求每个部门绩效排名第二的人员

 

sql语句是这样的 

 

SELECT dep, MAX(score) FROM zx  WHERE score NOT IN (SELECT MAX(score) FROM zx GROUP BY dep) GROUP BY dep

  

 

这样就衍生出一个问题,如何判断,这样非分组排序,或者第二大的数或者第三大的

这样可以使用,嵌套使用一次就行

SELECT MAX(score) FROM zx  WHERE score NOT IN (SELECT MAX(score) FROM zx WHERE score NOT IN (SELECT MAX(score) FROM zx ))

思想就是在where条件里面去除已经发现最大的,就是第二大,在去除一个就是第三大的


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM