Немного сложно определить, к чему я пытаюсь добраться, но вот удар здесь. Я работаю на красных смещениях и написание запроса на вершине следующего образца Таблица A:Сингулярное состояние на столбце агрегата
User ID || Active_in_Month || Max_Months_On_Platform
1 1 6
1 2 6
1 5 6
2 1 3
2 3 3
После группировки по «Active_in_Month», я хочу, чтобы на следующем выходе в таблице B:
Active_in_Month || Active_Distinct_Users || User_Cohorts
1 2 2
2 1 2
3 1 2
5 1 1
«Active_Distinct_Users» - это простой COUNT (*). Однако расчет «User_Cohorts» - это место, где я застрял. Столбец должен представлять, сколько пользователей было на платформе, которые были активны не более, чем значение в комманде «active_in_month». Например, в строке 1 таблицы В таблице B было два пользователя, у которых есть «Max_Months_on_Platform»> 1 (активен в месяце). В строке 5 из В таблице B есть только 1 «User_Cohort», потому что только у 1 пользователя есть «Max Months on Platform»> 5 (Active_in_Month).
Надеюсь, это объясняет, к чему я пытаюсь добраться.
Спасибо, Бернд, но я получаю ошибка, указывающая, что мне нужно также группировать a.user_id. –
вы можете попробовать ** SET sql_mode = ''; ** до –
Возможно, это связано с тем, что я был на красном смещении, а не на sql. Я, наконец, смог его решить, хотя я не думаю, что это самое красноречивое решение. Собираемся добавить решение к сообщению. Спасибо за вашу помощь! –