MySQL имеет хорошую функцию (хотя нестандартный), которые позволяют запрашивать предел наборов результатов, смещать как
SELECT * FROM TABLE LIMIT M, N;
Это создается MySQL? или Пост-ГРЭС?
Между PostgreSQL и MySQL PostgreSQL скопировал синтаксис LIMIT из MySQL (в v6.5) и добавил синтаксис OFFSET (возможно, он тоже был скопирован, но я думаю, что тогда в mysql был только синтаксис с запятой. ). Затем он был изменен (7.2) на , только разрешил «LIMIT foo OFFSET bar», потому что синтаксис MySQL был неясен.
Postgres добавил синтаксис LIMIT в v6.5 , выпущенную 9 июня 1999 г. .
Согласно документации , MySQL имел синтаксис LIMIT, начиная с версии 3.23 ( производственный выпуск, январь 2001 г. ). Но документы в URL относятся к версии 4.1, которая не была выпущена до 2004 года.
SQL Server не имел TOP до SQL Server 2000 , выпущенного в конце 2000 года .
Oracle имеет ROWNUM со времени выпуска Oracle 6 , выпущенного в 1988 . Еще страшнее то, что он может работать лучше в случаях, чем ROW_NUMBER!
MySQL скопировал его из mSQL, который, как заявляет Расмус Лердорф, реализует: http://itc.conversationsnetwork.org/shows/detail3298.html
Нельзя сказать, что mSQL был первым, но похоже, что он самый ранний из упомянутых до сих пор.
Согласно Википедии, Расмус Лердорф (первоначальный создатель PHP) первым использовал синтаксис «LIMIT x» в базе данных mSQL:
Он внес свой вклад в HTTP-сервер Apache и он также придумал предложение LIMIT и добавил его в базу данных mSQL в 1995 году. Это источник предложений LIMIT, найденных в MySQL и PostgreSQL.
Ограничение набора результатов теперь также стандартизировано, но с более подробным синтаксисом:
SELECT *
FROM T
FETCH FIRST 10 ROWS ONLY
Я знаю, что Rdb (первоначально продукт корпорации DEC, теперь доступный в Oracle) еще в 1991 году имел ОГРАНИЧЕНИЕ НА n ROWS.
Поделитесь и наслаждайтесь.