пытаюсь вычислить проценты подсчетов в SQL — HUE IMPALA

#sql #count #percentage #impala #hue

#sql #подсчитывать #процент #impala #оттенок

Вопрос:

спасибо за чтение

Я пытаюсь использовать 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
  

какой был бы наилучший способ показать проценты, сгруппированные по городам? должен ли я выполнить вложенный подсчет и сгруппировать его по ‘multiple’ и ‘once’? я затрудняюсь с тем, как это вычислить, и поскольку у меня здесь более 3 миллионов записей, я не могу извлечь это в Excel и сделать это там…

Заранее очень ценю вашу помощь! Спасибо

Редактировать:

Пример данных:

пример данных

желаемый результат указан выше

Комментарии:

1. Не могли бы вы предоставить некоторые примеры данных и результат execpt?

2. @D-Shih — я отредактировал и прикрепил образец данных. желаемый результат показан выше, и не имеет значения, в каком формате он находится, я не уверен, каким был бы наилучший способ показать это .. я занимался этим весь день, пробовал PowerBI matrix, но это не сработало. Спасибо