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