首页 > 应用开发 > IT综合 > ROW-NUMBER()函数
ROW_NUMBER() OVER (ORDER BY SUM(amount) DESC) AS row_number
[@more@]SQL> SELECT
2 prd_type_id,SUM(amount),
3 ROW_NUMBER() OVER (ORDER BY SUM(amount) DESC) AS row_number
4 FROM all_sales
5 WHERE year=2003
6 GROUP BY prd_type_id
7 ORDER BY prd_type_id;
PRD_TYPE_ID SUM(AMOUNT) ROW_NUMBER
----------- ----------- ----------
1 905081.84 2
2 186381.22 5
3 478270.91 3
4 402751.16 4
5 1
这里ROW-NUMBER()函数就相当于RANK()函数。
总结:在上面介绍的这些评级函数中其中RANK()、DENSE-RANK()、PERCENT-RANK()函数是比较常用的(相对于其他几个而言),因此我们最好要掌握而其他几个大家只要知道了解就可以了。
以上是网友的笔记,以下是我的试验:
select prd_type_id,sum(amount),
row_number() over(order by sum(amount) desc) as row_number
from all_sales
where year=2003
group by prd_type_id;
PRD_TYPE_ID SUM(AMOUNT) ROW_NUMBER
----------- ----------- ----------
5 null 1
4 699054.57 2
1 349535.92 3
7 349529.76 4
6 349529.66 5
2 349527.34 6
3 349526.62 7
这玩意儿在开发中我用到了分页中,较之前的JAVA程序员所做的分页方式效率提高、代码简化.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/271063/viewspace-912071/ ,如需转载,请注明出处,否则将追究法律责任。