SQL группировка данных по кванту значений.
Всем привет, недавно встала задача выборки данных по квантам значений. Объясню ситуацию:
Есть таблица payment(платежи):
sum (сумма платежа) может быть относительно любой от 0 и до 100000, например.
Задача: Нужно сгруппировать вывод данных по сумме с квантом в 50 рублей.
50-99 рублей- 59 пользователей
100-150 рублей - 147 пользователей
Есть таблица payment(платежи):
id_user [int]
sum [int]
date [date]
SQL выборка данных по кванту значений.
Задача: Нужно сгруппировать вывод данных по сумме с квантом в 50 рублей.
Например:
0-49 рублей- заплатили 14 пользователей.50-99 рублей- 59 пользователей
100-150 рублей - 147 пользователей
и т.д. до конца (до 100000 рублей )
Нужно сформировать SQL-запрос на MySQL.
Ответ очень прост:
select
count(id_user),
concat_ws("...", floor(sum/50)*50, (floor(sum/50)+1)*50-1) as interva_l
from payment
group by floor(sum/50);
Группируем по дополнительному вычисляемому полю (делением на 50)
Вот и весь ответ. Надеюсь, это кому-нибудь поможет.
Комментарии
Отправить комментарий