Как ограничить результаты на SQL-запросе

Я задаюсь вопросом, действительно ли возможно ограничить результат запроса SQL?

Например, только возвратите до 50 строк из:

  SELECT * FROM <table>

спасибо.

6
задан Vlad Mihalcea 13 August 2019 в 09:04
поделиться

4 ответа

Да, это возможно. Это отличается в зависимости от движков db.

Postgres:

SELECT * FROM <table> LIMIT 50

SQL Server:

SELECT TOP 50 * FROM <table> 

...

6
ответ дан 8 December 2019 в 12:18
поделиться

Вы можете использовать TOP clause:

SELECT TOP 50 * FROM <table>

Если ваша база данных не поддерживает его, вы можете попробовать также LIMIT и ROWNUM, но это опять же зависит от используемой базы данных.

5
ответ дан 8 December 2019 в 12:18
поделиться

Да, в 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.

5
ответ дан 8 December 2019 в 12:18
поделиться

В MySQL вы должны использовать предложение LIMIT

 SELECT * FROM <table> LIMIT 50
2
ответ дан 8 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: