Oracle-分析函数之排序后顺序号row_number()
生活随笔
收集整理的這篇文章主要介紹了
Oracle-分析函数之排序后顺序号row_number()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
ORACLE函數系列:
Oracle常見函數大全
Oracle-分析函數之連續求和sum(…) over(…)
Oracle-分析函數之排序值rank()和dense_rank()
Oracle-分析函數之排序后順序號row_number()
Oracle-分析函數之取上下行數據lag()和lead()
語法
【語法】
ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)【功能】表示根據COL1分組,在分組內部根據 COL2排序,而這個值就表示每組內部排序后的順序編號(組內連續的唯一的)
row_number() 返回的主要是“行”的信息,并沒有排名.
【參數】
【說明】Oracle分析函數
【主要功能】:用于取前幾名,或者最后幾名等
栗子
表內容如下:
name | seqno | description A | 1 | xgj A | 2 | xgj A | 3 | xgj A | 4 | xgj B | 1 | xgj B | 2 | xgj B | 3 | xgj B | 4 | xgj C | 1 | xgj C | 2 | xgj C | 3 | xgj C | 4 | xgj我想有一個sql語句,搜索的結果是
A | 1 | xgj A | 2 | xgj B | 1 | xgj B | 2 | xgj C | 1 | xgj C | 2 | xgjSQL:
select name, seqno, descriptionfrom (select name,seqno,description,row_number() over(partition by name order by seqno) idfrom table_name)where id <= 3;總結
以上是生活随笔為你收集整理的Oracle-分析函数之排序后顺序号row_number()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux-SFTP/SSH免密码登录
- 下一篇: Oracle-分析函数之取上下行数据la