SQL 組內排序


  • SELECT  
  •     t_time,  
  •     code,  
  •     name,  
  •     CL,  
  •     row_number () OVER (partition BY t_time ORDER BY cl) AS 組內排名1,  
  • --T_time組內,cl排名  
  •     row_number () OVER (ORDER BY cl) AS 排名1_1,  
  • --所有cl的排名  
  •     rank () OVER (partition BY t_time ORDER BY cl) AS 組內排名2,  
  • --T_time組內,cl排名  
  •     rank () OVER (ORDER BY cl) AS 排名2_1,  
  • --所有cl的排名  
  •     dense_rank () OVER (partition BY t_time ORDER BY cl) AS 組內排名3,  
  • --T_time組內,cl排名  
  •     dense_rank () OVER (ORDER BY cl) AS 排名3_1  
  • --所有cl的排名  
  •       
  • FROM  
  •     zsh_0220  
  • ORDER BY  
  •     t_time,code; 
  • 解釋:t_time分組(示例將t_time分為2005,2006二個組), cl排序(默認:升序)。降序可設置ORDER BY cl desc

    函數ROW_NUMBER() OVER ()  ,RANK() OVER ()RANK(),DENSE_RANK() OVER ()的區別在這就不詳細介紹了,可參考:開窗函數-排名

  • row_number() over(partition by … order by …) 

    rank() over(partition by … order by …) 

    dense_rank() over(partition by … order by …) 

    count() over(partition by … order by …) 

    max() over(partition by … order by …) 

    min() over(partition by … order by …) 

    sum() over(partition by … order by …) 

    avg() over(partition by … order by …) 

    first_value() over(partition by … order by …) 

    last_value() over(partition by … order by …) 

    lag() over(partition by … order by …) 

    lead() over(partition by … order by …) 

    等等…有興趣的朋友可以試試,這里就不詳解了!

  • 原文地址:http://help.finereport.com/doc-view-1763.html

  • 免責聲明!

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



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