НовоеAI-конструктор резюме: правишь прямо на листе A4, а нейросеть подсказывает, что усилитьКонструктор резюме на листе A4Попробовать
JobPath
Начать бесплатно

QAJuniorТехнический

Что такое оконные функции в SQL и для чего они используются

Спрашивали 4 раза

Ответ

Что хотят услышать интервьюеры

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

Определение

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

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

  1. Ранжирование строк: Можно использовать оконную функцию RANK() для присвоения ранга строкам на основе определенного критерия. Например, чтобы ранжировать сотрудников по зарплате в компании:

    SELECT employee_id, salary,
           RANK() OVER (ORDER BY salary DESC) AS rank
    FROM employees;
  2. Скользящее среднее: Вычисление скользящего среднего по продажам за последние 3 месяца:

    SELECT sale_date, amount,
           AVG(amount) OVER (ORDER BY sale_date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS moving_avg
    FROM sales;
  3. Суммирование по категориям: Сумма всех продаж для каждой категории товаров, не сгруппировывая результаты:

    SELECT category, sale_amount,
           SUM(sale_amount) OVER (PARTITION BY category) AS total_category_sales
    FROM sales;

Преимущества

  • Позволяют выполнять сложные аналитические запросы без необходимости подзапросов или временных таблиц.
  • Поддерживают более читабельный и эффективный код.

Что могут спросить дальше

  • Объяснить алгоритм работы оконных функций.
  • Показать дополнительные примеры использования.
  • Сравнить оконные функции с обычными агрегатами.
  • Обсудить производительность оконных функций в больших наборах данных.
Ответ помог?
Тренироваться бесплатно

Связаться с поддержкой

Выбери, где удобнее написать