Собесов

Авито Middle: оконные функции — доля выручки относительно вчерашнего дня

SQLОконные функцииСредняяMiddle

Условие

В таблице revenue 3 колонки:

  • event_date — дата;
  • user_id — уникальный id пользователя;
  • revenue — выручка от этого пользователя в этот день.

Какую колонку добавить в SQL-запрос, чтобы получать долю выручки пользователя в этот день от его же выручки в предыдущий день?

SELECT event_date, user_id, revenue, <?>
FROM revenue
ORDER BY event_date DESC, user_id;

Варианты:

a) revenue / lag(revenue) OVER (ORDER BY user_id, event_date) b) revenue / lag(revenue) OVER (PARTITION BY user_id ORDER BY event_date) c) revenue / lag(revenue) OVER (ORDER BY event_date) d) revenue / lag(revenue) OVER (PARTITION BY user_id, event_date ORDER BY user_id, event_date)

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти