MySQL-分析函數-rank-排名/排序


有三個函數:

  rank()

  dense_rank()

  row_number()

拿一個表Employee作為例子:

Name     Salary
---------------
abc     100000
bcd     1000000
efg     40000
ghi     500000
jkl     500000

查詢腳本:

```sql

select name,

  salary,

  rank() over(order by salary) as rnk,

  dense_rank() over(order by salary) as dense_rnk,

  row_number() over(order by salary) as row_number

from Employee;

查詢結果:

name         salary           rnk            dense_rnk   row_number

efg     40000      1           1           1
abc     100000     2           2           2
ghi     500000     3           3           3
jkl     500000     3           3           4
bcd     1000000    5           4           5

 
        

通過dense_rank()可以查詢根據salary排序獲得任意一名

 

參考網站:https://www.geeksforgeeks.org/sql-query-to-find-second-largest-salary/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM