2
A
回答
6
在查詢結尾處添加「where rownum < =條目數量」。
1
首先,你是分頁,因此需要有限的行(這是一個有效的結果限制)?相反,問問你自己,如果你的查詢對於手頭的任務來說太過深遠。
如前所述可以使用rownum
來限制結果集,或如以下的rownum包裹用於分頁的示例:
2
然而有一個缺點此。當你想以降序或升序列出記錄時,你可能會錯過一些記錄。假設您將返回限制爲8行,那麼查詢將首先發生8次並按排序順序列出。
以下查詢將抓取符合條件的表中的第1 8條記錄,並按照您的順序對其進行排序。例如。
select
order, order_date, booked_out_date
from
orderdb
where
booked_out_date is not null
and rownum <= 8
order by
booked_out_date;
下一個查詢將首先抓住所有符合我標準的,排序,然後它會顯示前八週的訂單日期順序訂出的記錄。
Select *
From
(Select
order, order_date, booked_out_date
From
orderdb
Where
booked_out_date is not null
Order By date)
Where
rownum <= 8;
如果預訂的訂單落在前8個訂單內,但其表中的記錄是ie。第20條記錄,你可能會錯過它的第一個查詢,但第二個記錄會檢索它。
3
由於Oracle 12c,您還可以使用fetch first row only
。
第一行:
select * from example fetch first row only;
前10行:
select * from example fetch first 10 rows only;
0
這是爲我工作。你也可以實現這個分頁。
SELECT
*
FROM
(
SELECT
inner_query.*,
ROWNUM rnum
FROM
(
SELECT
*
FROM
table_name
ORDER BY column_name
) inner_query
WHERE
ROWNUM <= 20
)
WHERE
rnum >= 1;
其中ROWNUM是否定的。的記錄和rnum是開始位置。
相關問題
- 1. sql查詢返回的記錄數限制
- 2. 如何限制爲Interbase 7.1返回的記錄數量?
- 3. 限制Oracle中SQL查詢返回的記錄
- 4. LinqDataSource - 你能限制返回的記錄數量嗎?
- 5. MS Access查詢返回的記錄不足,但僅限於某些限制
- 6. 解析「或」帶限制的查詢返回所有記錄,忽略單個查詢的限制
- 7. 查詢不返回任何記錄
- 8. 限制查詢的數量在SQL Server返回2008
- 9. 限制Solr中過濾器查詢返回的結果數量
- 10. 如何添加數據到返回的ActiveRecord查詢記錄
- 11. 如何在訂購後限制oracle查詢返回的行數?
- 12. 用於限制記錄的SQL查詢
- 13. MySQL - 限制(強制)爲任何查詢返回的行數
- 14. SQL查詢返回僅限一種類型的記錄
- 15. 查詢返回的多個記錄
- 16. SQL CE:限制行的查詢返回
- 17. 如何根據用戶角色限制返回的記錄?
- 18. 查詢不會返回任何記錄,但phpmyadmin會返回
- 19. SQL查詢返回多個記錄
- 20. SQL Server查詢返回太多記錄
- 21. $ geoNear查詢不返回所有記錄
- 22. ldap查詢只返回一條記錄
- 23. SQL查詢只返回一條記錄
- 24. SubSonic .Paged()查詢返回重複記錄
- 25. Rails查詢不返回更新記錄
- 26. SQLite - 查詢返回相關記錄
- 27. 查詢多次返回相同記錄
- 28. Elasticsearch查詢返回所有記錄
- 29. Oracle子查詢未返回記錄
- 30. DB2查詢返回0記錄
http://stackoverflow.com/questions/2912144/alternatives-to-limit-and-offset-for-paging-in-oracle – 2010-12-21 16:33:39
頁面上的第一個鏈接,你給我 - 不工作 – user471011 2010-12-21 16:43:30