ROWNUM
和ROW_NUMBER
有什麼區別?在Oracle數據庫中,ROWNUM和ROW_NUMBER有什麼區別?
17
A
回答
35
ROWNUM是一個「虛列」一個號分配給由查詢返回的每一行:
SQL> select rownum, ename, deptno
2 from emp;
ROWNUM ENAME DEPTNO
---------- ---------- ----------
1 SMITH 99
2 ALLEN 30
3 WARD 30
4 JONES 20
5 MARTIN 30
6 BLAKE 30
7 CLARK 10
8 SCOTT 20
9 KING 10
10 TURNER 30
11 FORD 20
12 MILLER 10
ROW_NUMBER是一個解析函數,根據一組行內的順序分配一個編號以每一行:
SQL> select ename, deptno, row_number() over (partition by deptno order by ename) rn
2 from emp;
ENAME DEPTNO RN
---------- ---------- ----------
CLARK 10 1
KING 10 2
MILLER 10 3
FORD 20 1
JONES 20 2
SCOTT 20 3
ALLEN 30 1
BLAKE 30 2
MARTIN 30 3
TURNER 30 4
WARD 30 5
SMITH 99 1
1
從一個小閱讀,ROWNUM是Oracle自動分配到行集的值(ORDER BY被評估之前,所以不要曾經ORDER BY ROWNUM
或使用WHERE ROWNUM < 10
與ORDER BY
)。
ROW_NUMBER()似乎是將行號分配給由子查詢或分區返回的結果集的函數。
-1
rownum是一個僞列,可以添加到任何選擇查詢中,爲返回的行編號(從1開始)。他們根據何時被確定爲最終結果集的一部分進行排序。 (#ref)
row_number是一個分析函數,它可以用於按照row_number()函數強制的順序對查詢返回的行進行編號。
0
除了答案中提到的其他差異之外,您還應該考慮性能。有一個非權威,但非常有趣的報告在這裏,比較分頁的各種手段,其中使用ROWNUM
相比ROW_NUMBER() OVER()
:
-1
ROWNUM用後病情評估結果爲真1個..increases開始。 因此,rownum> = 1返回表
中的所有行相關問題
- 1. dataStore和數據庫有什麼區別?
- 2. 解釋「創建數據庫」時Oracle和Mysql有什麼區別?
- 3. Oracle數據庫Rownum之間
- 4. 圖形數據庫和網絡數據庫有什麼區別?
- 5. 數據庫中的元數據和模式有什麼區別?
- 6. 在Slick中使用DatabaseConfig和數據庫有什麼區別?
- 7. Oracle:=和in有什麼區別?
- 8. Oracle /和sys有什麼區別?
- 9. ibm jdk和oracle jdk有什麼區別?
- 10. Oracle和Microsoft模式有什麼區別?
- 11. Android - String和Sqlite數據庫上的數據有什麼區別?
- 12. 數據集和數據庫有什麼區別?
- 13. MVC模型,數據和數據庫有什麼區別?
- 14. ROWNUM和在Oracle
- 15. Oracle'分區依據'和'Row_Number'關鍵字
- 16. 數據庫中的對象和實體有什麼區別?
- 17. MySQL數據庫中TABLE和VIEW之間有什麼區別?
- 18. Flex庫和ActionScript庫有什麼區別?
- 19. 使用OLEDB和ODP.NET連接到Oracle數據庫有什麼區別?
- 20. oracle中的RANK()和DENSE_RANK()函數有什麼區別?
- 21. 有什麼區別`和$(Bash中有什麼區別?
- 22. oracle「初始化參數」和「會話參數」有什麼區別?
- 23. 在oracle中嵌套表和對象類型有什麼區別?
- 24. triplestores和圖形數據庫有什麼區別?
- 25. 刪除和刪除數據庫有什麼區別?
- 26. 歷史學家和數據倉庫之間有什麼區別?
- 27. Post,ApplyUpdates和Commit對數據庫有什麼區別?
- 28. 面向對象和文檔數據庫有什麼區別?
- 29. 對象存儲和鍵值數據庫有什麼區別?
- 30. NoSQL和Column-Oriented數據庫有什麼區別?
order by is ok例如,select * from(select a,b,c from foo order by d)其中rownum <10 – Ron 2009-12-04 00:18:35
@Ron:試一試。你會發現,從整個結果集中取得前10個結果,然後對它們進行排序是很困難的。 – Powerlord 2009-12-04 14:47:32