Встречается на собеседованиях • сегодня

Какие знаешь оконные функции SQL

Оконные функции SQL позволяют выполнять вычисления над набором строк, связанных с текущей строкой. Основные типы:

  1. Агрегатные: SUM(), AVG(), COUNT(), MAX(), MIN() с OVER()
  2. Ранжирующие:
    • ROW_NUMBER() – уникальный номер строки
    • RANK() – ранг с пропусками
    • DENSE_RANK() – ранг без пропусков
  3. Смещения:
    • LAG() / LEAD() – доступ к предыдущей/следующей строке
    • FIRST_VALUE() / LAST_VALUE() – первое/последнее значение в окне

Пример:

sql
SELECT 
    user_id,
    date,
    amount,
    SUM(amount) OVER(PARTITION BY user_id ORDER BY date) AS running_total,
    RANK() OVER(PARTITION BY user_id ORDER BY amount DESC) AS rank_by_amount
FROM transactions

Ключевые параметры:

  • PARTITION BY – разбивает данные на группы
  • ORDER BY – определяет порядок строк в окне
  • ROWS/RANGE – задает границы окна (например, ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы