Сообщения

Сообщения за января 16, 2014

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) Вот и весь ответ. Надеюсь, это кому-нибудь поможет.