與rownum的區別在於
row_number()和rownum差不多
rank()是跳躍排序
dense_rank()也是連續排序
oracle 分析函數 row_number()
語法格式:
作用:按照col_
此用法有點像rownum
復制代碼 代碼如下:
select rownum
row_number() over (order by rownum) row_number
from emp;
ROWNUM ENAME JOB ROW_NUMBER
如果沒有partition by子句
復制代碼 代碼如下:
with row_number_test as(
select
select
select
select
select
select a
row_number() over (order by b)
from row_number_test
order by a;
正如我們所期待的
然後再按照a進行排序
復制代碼 代碼如下:
A B ROW_NUMBER()OVER(ORDERBYB)
作用:先按照col_n[
再在每個分組中按照col_
最後返回排好序後的結果集:
復制代碼 代碼如下:
with row_number_test as(
select
select
select
select
select
select a
row_number() over (partition by c order by b) row_number
from row_number_test
order by a;
這個例子中
再按照每個小組的b列進行排序(按字符串首字母的ascii碼排)
最後按照a列排序
復制代碼 代碼如下:
A B ROW_NUMBER
From:http://tw.wingwit.com/Article/program/Oracle/201405/30853.html