Я задаюсь вопросом, действительно ли возможно ограничить результат запроса SQL?
Например, только возвратите до 50 строк из:
SELECT * FROM <table>
спасибо.
Да, это возможно. Это отличается в зависимости от движков db.
Postgres:
SELECT * FROM <table> LIMIT 50
SQL Server:
SELECT TOP 50 * FROM <table>
...
Вы можете использовать TOP clause:
SELECT TOP 50 * FROM <table>
Если ваша база данных не поддерживает его, вы можете попробовать также LIMIT
и ROWNUM
, но это опять же зависит от используемой базы данных.
Да, в MYSQL возможно:
Предложение LIMIT может использоваться для ограничения количества строк, возвращаемых оператором SELECT. LIMIT принимает один или два числовых аргумента, которые оба должны быть неотрицательными целочисленными константами (кроме случаев использования подготовленных операторов).
С двумя аргументами первый аргумент указывает смещение первой возвращаемой строки, а второй указывает максимальное количество возвращаемых строк. Смещение начальной строки 0 (не 1):
SELECT * FROM tbl LIMIT 5,10; # Получить строки 6-15
Чтобы получить все строки от определенного смещения до конца набора результатов, вы можете использовать некоторое большое число для второго параметра. Этот оператор извлекает все строки от 96-й строки до последней:
SELECT * FROM tbl LIMIT 95,18446744073709551615;
С одним аргументом значение указывает количество строк, возвращаемых с начала набора результатов:
ВЫБРАТЬ * ИЗ ТАБЛИЦЫ ПРЕДЕЛ 5; # Получить первые 5 строк
Другими словами, LIMIT row_count эквивалентно LIMIT 0, row_count.
В MySQL вы должны использовать предложение LIMIT
SELECT * FROM <table> LIMIT 50