Заранее благодарим за рассмотрение моей проблемы. Я пытаюсь взять историю транзакций пользователей и суммировать доход от всех своих общих заказов, затем группировать эти общие заказы по сегментам и подсчитывать количество пользователей в каждом сегменте.MySQL - GROUPING в диапазоны на основе SUM
В основном я использую единую таблицу для агрегирования данных о доходах. Таблица REVENUE таблица для всех целей и целей структурирована следующим образом.
Колонны | Образец данных
ID | 123
ORDER_NUMBER | 123abc
ДОХОДЫ | 10
Каждая запись структура, как это и есть одна запись для каждой покупки. Я использую следующий SQL агрегировать ДОХОДЫ по ID
SELECT ID, SUM(ROUND(REVENUE)) as Total_Rev
FROM REVENUE
GROUP BY ID
ORDER BY ID
я получаю и выход как этот
ID | Всего_Rev
1002436 | 11
1002437 | 12
1002438 | 5
10024399 | 2
100244 | 4
10024544 | 21
10024584 | 16
10024624 | 4
1002478 | 8
10024789 | 12
10024843 | 4
10024944 | 9
Так что я пытаюсь сделать, это группа идентификаторами по Total_rev в 3 предопределенных сегментов, то я хочу считать идентификатор пользователя и в каждом сегменте.
Мои сегменты определяются Total_Rev как это:
Low: 1-5
Med: 6-20
High: 21+
Я просто не знаю, как создать правильный SQL для выполнения этой операции сегментации. Еще раз спасибо за то, что посмотрели, и я буду рад предоставить более подробную информацию или ответить на любые отзывы по этой проблеме.
Спасибо, -Крис
Благодарности 5im, я дам этот снимок сегодня и дам вам знать, как это получается. –
Просто использовал этот формат с небольшими изменениями, чтобы соответствовать моему набору данных, и он работал хорошо. Еще раз спасибо! –