Выбор ответа Junior Оконные функции обновлено

Пустой OVER()

Вопрос

Что делает SUM(amount) OVER ()?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В каждой строке сумма amount по всей выборке. Пустые скобки означают одно окно на всю выборку (после WHERE), поэтому в каждой строке будет общая сумма.

Варианты ответа

  1. Нарастающий итог в порядке строк таблицы
  2. В каждой строке сумма amount по всей выборкеправильный ответ
  3. Ошибка: OVER требует PARTITION BY или ORDER BY
  4. Сворачивает выборку в одну строку с суммой

Разбор

Пустые скобки означают одно окно на всю выборку (после WHERE), поэтому в каждой строке будет общая сумма. Строки при этом не сворачиваются, в отличие от SUM(amount) без OVER. Нарастающий итог требует ORDER BY в OVER. PARTITION BY и ORDER BY в OVER необязательны.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме