分析函式學習3 ROW_NUMBER
ROW_NUMBER is an analytic function. It assigns a unique number to each row to which it is applied (either each row in the partition or each row returned by the query), in the ordered sequence of rows specified in the order_by_clause, beginning with 1.
You cannot use ROW_NUMBER or any other analytic function for expr. That is, you can use other built-in function expressions for expr, but you cannot nest analytic functions.
ROW_NUMBER() OVER( order_by_clause)query_partition_clause
Example
For each department in the sample table oe.employees, the following example assigns numbers to each row in order of employee's hire date:
SELECT department_id, last_name, employee_id, ROW_NUMBER()
OVER (PARTITION BY department_id ORDER BY employee_id) AS emp_id
FROM employees;
DEPARTMENT_ID LAST_NAME EMPLOYEE_ID EMP_ID
------------- ------------------------- ----------- ----------
10 Whalen 200 1
20 Hartstein 201 1
20 Goyal 202 2
30 Raphaely 114 1
30 Khoo 115 2
30 Baida 116 3
30 Tobias 117 4
30 Himuro 118 5
30 Colmenares 119 6
40 Marvis 203 1
.
.
.
100 Popp 113 6
110 Higgens 205 1
110 Gietz 206 2
ROW_NUMBER is a nondeterministic function. However, employee_id is a unique key, so the results of this application of the function are deterministic.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/219138/viewspace-913422/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分析函式rank() row_number函式
- 【Analytic】分析函式之ROW_NUMBER函式函式
- ROW_NUMBER() OVER() 分析函式的用法函式
- rank,dense_rank,row_number 分析函式函式
- 分析函式row_number()使用一例函式
- 分析函式的學習函式
- oracle分析函式Rank, Dense_rank, row_numberOracle函式
- row_number() over函式函式
- 分析函式rollup||cube學習函式
- 分析函式(學習筆記)函式筆記
- 分析函式學習1 level函式
- NumPy 學習(3): 通用函式函式
- Oracle 中的 ROW_NUMBER() OVER() 分析函式的用法Oracle函式
- 分析函式——排序排列(rank、dense_rank、row_number)函式排序
- oracle 分析函式之(rank()/dense_rank()/row_number())Oracle函式
- 分析函式connect by | start with學習函式
- oracle學習筆記8: 分析函式Oracle筆記函式
- 3. PHP 函式學習 strrpos ()PHP函式
- Python學習-字串函式操作3Python字串函式
- Python基礎學習3:函式Python函式
- 分析函式rank,dense_rank,row_number使用和區別 .函式
- 分析函式中rank(),row_number(),dense_rank()的區別函式
- Oracle分析函式-3Oracle函式
- Spark2 Dataset分析函式--排名函式row_number,rank,dense_rank,percent_rankSpark函式
- 函式學習函式
- Oracle分析函式RANK(),ROW_NUMBER(),LAG()等的使用方法(轉)Oracle函式
- ROW_NUMBER() OVER函式的基本用法函式
- 【Mysql 學習】日期函式函式MySql函式
- spark RDD的學習,filter函式的學習,split函式的學習SparkFilter函式
- MySQL自定義變數實現row_number分析函式的天坑MySql變數函式
- 【SQL 學習】分析函式之RANK() DENSE_RANK ()SQL函式
- 分析函式學習2 SYS_CONNECT_BY_PATH函式
- Python3學習(18)--偏函式(Partial)Python函式
- MySQL函式學習(一)-----字串函式MySql函式字串
- 視窗函式 row_number 去重複函式
- 使用row_number()分頁函式取代group by函式
- 函式學習五函式
- 函式學習六函式