спасибо за чтение
Я пытаюсь использовать SQL для вычисления процентов от числа
1) Мне нужно выяснить, сколько раз один человек совершает покупки в одном и том же магазине в одном городе (Лондон) - я сделал это со случаем, когда (Лондон) -
Мне нужно выяснить, какой процент пользователей посещают один и тот же магазин более одного раза
и 2)
Показ второго уровня
- какой процент пользователей совершает покупки в одном и том же магазине регулярно (не реже одного раза в месяц)
код, который я получил, находится ниже -
SELECT
CASE WHEN COUNT(users) = 1 THEN "once"
WHEN COUNT(users) > 1 THEN "multiple"
ELSE "NA"
END as userscountcheck,
COUNT(users) as singlemonthcount, users, city, businessname, CAST(concat(substr(CAST(date AS STRING), 1, 7), "-01") AS timestamp) AS date_stamp
FROM fd_data.processing WHERE city LIKE'%London%'
GROUP BY users, city, businessname, date_stamp
;
желаемый результат будет:
30% of users have shopped at "TESCO" more than once
70% of users have shopped at "TESCO" only once
5% of users (of the 30%) have shopped at "TESCO" more than once per month
Какой будет лучший способ показать проценты, сгруппированные по городам? я должен сделать вложенный подсчет и сгруппировать его по «несколько» и «один раз»? я изо всех сил пытаюсь вычислить это, и так как у меня здесь более 3 миллионов записей, я не могу извлечь это в excel и сделать это там ...
Я очень ценю вашу помощь заранее! спасибо
EDIT:
Пример данных:
желаемый результат выше