排名函數dense_rank


dense_rank() 窗口函數:返回的是結果集分區每行的排名,排名值沒有間斷,是連續的排名值

栗子:

sales_employee              fiscal_year                   sale

      Alice                               2016                     150.00

      Alice                               2017                     100.00

      Alice                               2018                      200.00

      Bob                                2016                      100.00

      Bob                                2017                      150.00

      Bob                                2018                       200.00

      John                               2016                       200.00

      John                                2017                     150.00

      John                                2018                      250.00

 

SQL:

SELECT  

       sales_employee,fiscal_year,sale,

        DENSE_RANK()  OVER  (PARTITION BY fiscal_year  ORDER BY  sale DESC)  AS sales_rank

FROM

        sales;

 

輸出如下:

  sales_employee              fiscal_year                 sale          sales_rank

       John                              2016                      200.00              1

       Alice                              2016                      150.00               2

       Bob                               2016                       100.00              3

       Bob                               2017                       150.00              1

       John                              2017                       150.00              1

       Alice                              2017                       100.00              2

      John                               2018                       250.00              1

       Alice                              2018                       200.00              2

       Bob                               2018                       200.00              2

這個栗子用DENSE_RANK() 函數對結果集的每個分區的行進行排名

語法

DENSE_RANK()  OVER(

        PARTITION  BY  [col1]

        ORDER   BY  [col2]  DESC

)

PARTITION BY按年分區

ORDER BY按銷售額降序

DENSE_RANK()對分區內記錄按指定條件排名


免責聲明!

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



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