SELECT
userid,
CASE
WHEN (COUNT(CASE
WHEN onlinesportsgamewagers != 0
THEN 1
ELSE null
END)
+ COUNT(CASE
WHEN depositmade_amt != 0
THEN 1
ELSE null
END)) >= 10
THEN "VIP"
ELSE "NON-VIP"
END as VIPcheck
FROM
player_activity
WHERE
userid = 2023410
GROUP BY
year(txndate), month(txndate)
Этот запрос определяет VIP-статус пользователя для каждого месяца.Как использовать условие в SQL-запросе
В конечном счете, у меня есть запрос, который определяет, достиг ли пользователь статуса VIP не менее 3 месяцев (включая текущий месяц). На данный момент это только пользователь 2023410, но в конечном итоге я хочу запустить его для всей базы данных.
Поэтому моя конечная выход будет:
пользователя - VIPcheck (3 различных мес ж/активное состояние)
(одна строки за идентификатор пользователя)
HAVING COUNT(CASE WHEN (COUNT(CASE WHEN onlinesportsgamewagers != 0
THEN 1
ELSE null
END)
+ COUNT(CASE WHEN depositmade_amt != 0
THEN 1
ELSE null
END)) >= 10
THEN 1
ELSE 0
END)
Судим выше, имеющее заявление, но это не сработало. Какие-либо предложения?
Привет. ваш запрос, похоже, работал. Тем не менее, я не понимаю, почему можно было бы поставить статус VIP для одного пользователя в месяц в разделе FROM, а не в секции SELECT? – eddd83
@ eddd83. , , Я не совсем понимаю комментарий, но этот запрос должен выполнять две совокупности. Следовательно, в предложении 'FROM' есть подзапрос. –