如题:oracle分析函数 row_number()怎么用
我们项目组用了好多什么分析函数,可是本人不理解,谁能通俗解一下不
Oracle
------解决方案--------------------
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
分组排序
举例:
drop table test;
create table test(id varchar2(10),name varchar2(20),class varchar2(20),amount number);
insert into test values('1','马高峰1','200701',100);
insert into test values('2','马高峰2','200701',95);
insert into test values('3','马高峰3','200702',95);
insert into test values('4','马高峰4','200702',99.5);
insert into test values('5','马高峰5','200702',90);
select id,name,class,amount,row_number()over(partition by class order by amount ) rownumber from test;
结果:
ID NAME CLASS AMOUNT ROWNUMBER
1 2 马高峰2 200701 95 1
2 1 马高峰1 200701 100 2
3 5 马高峰5 200702 90 1
4 3 马高峰3 200702 95 2
5 4 马高峰4 200702 99.5 3
够详细了吧
还想看其它几个分析函数的话,去这 :http://www.meirirm.com/meirirm/index.php/category/it
一个叫每日热卖的博客空间,里面介绍了各种分析函数的举例,嘿嘿