排名函数dense_rank
排名函数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.00rank函数的用法
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()对分区内记录按指定条件排名

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。