SQL 组内排序

  1. SELECT  
  2.     t_time,  
  3.     code,  
  4.     name,  
  5.     CL,  
  6.     row_number () OVER (partition BY t_time ORDER BY cl) AS 组内排名1,  
  7. --T_time组内,cl排名  
  8.     row_number () OVER (ORDER BY cl) AS 排名1_1,  
  9. --所有cl的排名  
  10.     rank () OVER (partition BY t_time ORDER BY cl) AS 组内排名2,  
  11. --T_time组内,cl排名  
  12.     rank () OVER (ORDER BY cl) AS 排名2_1,  
  13. --所有cl的排名  
  14.     dense_rank () OVER (partition BY t_time ORDER BY cl) AS 组内排名3,  
  15. --T_time组内,cl排名  
  16.     dense_rank () OVER (ORDER BY cl) AS 排名3_1  
  17. --所有cl的排名  
  18.       
  19. FROM  
  20.     zsh_0220  
  21. ORDER BY  
  22.     t_time,code; 
  23. 解释:t_time分组(示例将t_time分为2005,2006二个组), cl排序(默认:升序)。降序可设置ORDER BY cl desc

    函数ROW_NUMBER() OVER ()  ,RANK() OVER ()RANK(),DENSE_RANK() OVER ()的区别在这就不详细介绍了,可参考:开窗函数-排名

  24. 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 …) 

    等等…有兴趣的朋友可以试试,这里就不详解了!

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

posted on 2018-03-07 10:46  hehedada  阅读(2926)  评论(0编辑  收藏  举报

导航