排名函数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小时内删除。
发表评论