Собесов

SQL — доля выручки от выручки того же пользователя в предыдущий день (LAG)

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

Условие

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

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

Какую из колонок нужно добавить в этот запрос:

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

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

Для каждой комбинации (user_id, event_date) есть только одно значение revenue, в данных нет NULL-ов.

Варианты:

  • 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 на выбор.

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