Оператор LIMIT
Оператор LIMIT управляет количеством строк, возвращаемых в результатах запроса.
Базовый синтаксис
Выбор первых строк:
Возвращает первые m строк результата или все строки, если их меньше m.
Альтернативный синтаксис TOP (совместимый с MS SQL Server):
Это эквивалент LIMIT m и может использоваться для совместимости с запросами Microsoft SQL Server.
Выборка со смещением:
Пропускает первые n строк, затем возвращает следующие m строк.
В обоих вариантах n и m должны быть неотрицательными целыми числами.
Отрицательные ограничения
Выбирайте строки с конца набора результатов, используя отрицательные значения:
| Синтаксис | Результат |
|---|---|
LIMIT -m | Последние m строк |
LIMIT -m OFFSET -n | Последние m строк после пропуска последних n строк |
LIMIT m OFFSET -n | Первые m строк после пропуска последних n строк |
LIMIT -m OFFSET n | Последние m строк после пропуска первых n строк |
Синтаксис LIMIT -n, -m эквивалентен LIMIT -m OFFSET -n.
Дробные значения LIMIT
Используйте десятичные значения между 0 и 1, чтобы выбрать процент строк:
| Syntax | Result |
|---|---|
LIMIT 0.1 | Первые 10% строк |
LIMIT 1 OFFSET 0.5 | Медианная строка |
LIMIT 0.25 OFFSET 0.5 | Третий квартиль (25% строк после пропуска первых 50%) |
- Дробные значения должны иметь тип Float64 и быть больше 0 и меньше 1.
- Дробные количества строк округляются до ближайшего целого числа.
Комбинирование типов ограничений
Вы можете комбинировать стандартные целые числа с дробными или отрицательными смещениями:
LIMIT ... WITH TIES
Модификатор WITH TIES включает дополнительные строки, имеющие те же значения ORDER BY, что и последняя строка в установленном лимите.
С оператором WITH TIES в выборку попадают все строки, соответствующие последнему значению:
Строка 6 включена, потому что она имеет то же значение (2), что и строка 5.
WITH TIES не поддерживается при использовании отрицательных значений LIMIT.
Этот модификатор можно комбинировать с модификатором ORDER BY ... WITH FILL.
Особенности
Недетерминированные результаты: Без предложения ORDER BY возвращаемые строки могут быть произвольными и отличаться от выполнения к выполнению одного и того же запроса.
Ограничение на стороне сервера: На количество возвращаемых строк также может влиять настройка limit.
См. также
- LIMIT BY — Ограничивает число строк в каждой группе значений, полезно для получения N лучших результатов в каждой категории.