SQL группировка данных по кванту значений.

Всем привет, недавно встала задача выборки данных по квантам значений. Объясню ситуацию:

Есть таблица payment(платежи):

id_user   [int]
sum       [int]
date      [date]
SQL выборка данных по кванту значений.

sum (сумма платежа) может быть относительно любой от 0 и до 100000, например.

Задача: Нужно сгруппировать вывод данных по сумме с квантом в 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)

Вот и весь ответ. Надеюсь, это кому-нибудь поможет.

Комментарии

Популярные сообщения из этого блога

Как преобразовать строку в массив в ClickHouse / How to transform string to array in ClickHouse

Как разложить массив на несколько строк в ClickHouse

Экспорт одной таблицы базы данных или mysqldump одной таблицы (MySQL)