Посчитать количество user_id с минимум 1 заказом за каждые 2 месяца | Fine bi / SQL
Помогите пожалуйста понять, как в fine bi / sql посчитать количество уникальных user_id у которых есть 1 и более заказ за каждые 2 месяца в выбранном периоде.
Это нужно для создания сегмента пользователей.
В столбцах: order_date, user_id, order_id
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Впрочем, даже и оконные функции, кажется, не нужны. Я вам сделаю набросок, потому что не знаю, что за диалект SQL у вас используется. Итак, как это можно решить:
- Нужно перебрать все месяцы (но минус 1 месяц с конца) за данный период. Циклом.
- Выбрать на каждом проходе цикла уникальных пользователей, у которых есть записи в вашей таблице за период [текущий месяц цикла, текущий месяц цикла + 1]
- Посчитать через count сгруппировав по id пользователей и выбрать таких пользователей, у которых этот count совпадёт с длиной периода нашей выборки
Если непонятно, как сделать каждый конкретный шаг - пишите, подумаем. Но сначала попробуйте подумать и реализовать каждый шаг самостоятельно.