Перейти к основному содержимому

SQL LIMIT

Когда вы разрабатываете модели данных или составляете запрос, вам обычно нужно видеть все результаты? Обычно нет. Поэтому мы используем LIMIT.

Добавление клаузулы LIMIT к запросу ограничит количество возвращаемых строк. Это полезно, когда вы разрабатываете модели данных, чтобы убедиться, что SQL в запросе работает как ожидается, и хотите сэкономить деньги в период разработки.

Как использовать клаузу LIMIT в запросе

Чтобы ограничить количество строк, возвращаемых из запроса, вы добавляете LIMIT в последней строке запроса с указанием количества строк, которые вы хотите получить:

select
some_rows
from my_data_source
limit <integer>

Давайте рассмотрим практический пример использования LIMIT ниже.

Пример LIMIT

select
order_id,
order_date,
rank () over (order by order_date) as order_rnk
from {{ ref('orders') }}
order by 2
limit 5

Этот простой запрос, использующий таблицу orders из Jaffle Shop, вернет ровно эти 5 строк:

order_idorder_dateorder_rnk
12018-01-011
22018-01-022
32018-01-043
42018-01-054
52018-01-054

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

Экономьте деньги и время, ограничивая данные в разработке

Вы можете ограничить данные, используемые для разработки, вручную добавив оператор LIMIT, клаузу WHERE в ваш запрос или используя макрос dbt для автоматического ограничения данных на основе вашей среды разработки, чтобы помочь сократить использование вашего хранилища в период разработки.

Синтаксис LIMIT в Snowflake, Databricks, BigQuery и Redshift

Все современные хранилища данных поддерживают возможность ограничения запроса, и синтаксис также одинаков для всех них. Используйте таблицу ниже, чтобы узнать больше о документации по ограничению результатов запроса в вашем хранилище данных.

Хранилище данныхПоддержка LIMIT?
Snowflake
Databricks
Amazon Redshift
Google BigQuery

Примеры использования LIMIT

Мы чаще всего видим ограниченные запросы в работе с данными для:

  • Экономии денег в разработке, особенно для больших наборов данных; просто убедитесь, что модель работает на подмножестве данных, а не на всех данных 💸
  • В сочетании с оператором ORDER BY, чтобы получить топ 5, 10, 50, 100 и т.д. записей из набора данных

Это не исчерпывающий список, где ваша команда может использовать LIMIT в течение вашей разработки, но он содержит некоторые общие сценарии, с которыми аналитики сталкиваются ежедневно.

0