Istnieją sposoby na zrobienie tego w opcjonalnych częściach standardu, ale wiele baz danych obsługuje to na swój własny sposób.
Naprawdę dobra strona, która mówi o tym i innych rzeczach, to http://troels. arvin.dk/db/rdbms/#select-limit .
Zasadniczo PostgreSQL i MySQL obsługują niestandardowe:
SELECT...
LIMIT y OFFSET x
Oracle, DB2 i MSSQL obsługują standardowe funkcje okienek:
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
columns
FROM tablename
) AS foo
WHERE rownumber <= n
(które właśnie skopiowałem ze strony, do której link znajduje się powyżej, ponieważ nigdy nie używam tych baz danych)
Aktualizacja: Od PostgreSQL 8.4 standardowe funkcje okienkowe są obsługiwane, więc spodziewaj się, że drugi przykład będzie działał również dla PostgreSQL.
Aktualizacja: SQLite dodał obsługę funkcji okien w wersji 3.25.0 w dniu 2018-09-15, więc obie formy działają również w SQLite.