Limits
ANSI/ISO 計劃 LIMIT 標準化?
目前是否有計劃標準化一種限制查詢返回的結果數量的最佳方法?
Is there an ANSI SQL Alternative to the MYSQL LIMIT keyword?列出了用不同語言處理此行為的各種方法:
DB2 -- select * from table fetch first 10 rows only Informix -- select first 10 * from table Microsoft SQL Server and Access -- select top 10 * from table MySQL and PostgreSQL -- select * from table limit 10 Oracle -- select * from (select * from table) where rownum <= 10
我不經常玩數據庫,所以我在這裡說的是無知,但這似乎是一個非常重要的功能 - 至少重要到當我看到它由供應商決定時我會撓頭。
我可以在 Internet 上找到的最新的 SQL 標準草案(2011 年 12 月 21 日)具有以下可用於查詢表達式的內容:
<result offset clause> ::= OFFSET <offset row count> { ROW | ROWS } <fetch first clause> ::= FETCH { FIRST | NEXT } [ <fetch first quantity> ] { ROW | ROWS } { ONLY | WITH TIES }