Limits

ANSI/ISO 計劃 LIMIT 標準化?

  • December 8, 2016

目前是否有計劃標準化一種限制查詢返回的結果數量的最佳方法?

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 }

引用自:https://dba.stackexchange.com/questions/30452