Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос с группировкой по возрасту. / 2 сообщений из 2, страница 1 из 1
20.03.2015, 15:23:09
    #38911218
peektoseen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос с группировкой по возрасту.
Всем привет. Пытаюсь победить запрос, никак не раскушу его, помогите пожалуйста.
Есть таблица, в ней одна колонка "bday" - это дата рождения.
Нужно посчитать сколько имеется записей по интервалам.
менее 18, 19-25, 25-30, 30-40, 40 и более

Пример таблицы:
bday1993-06-15 1991-02-04 1985-01-23 1996-02-04 1996-08-201997-10-27 1984-01-01

Максимум, чего я добился - это подсчитал общее кол-во каждого возраста:
Код: sql
1.
2.
3.
4.
5.
6.
 SELECT FLOOR(DATEDIFF(now(), bday)/365) old_y,
       count(*)  cnt
FROM `custom_stat`
WHERE FLOOR(DATEDIFF(now(), bday)/365) IS NOT NULL
GROUP BY old_y
ORDER BY `old_y` ASC



Получается что-то такое:
old_y cnt13 1614 9615 7916 6617 6818 15319 18920 16221 19322 18623 18924 15325 146

Теперь нужно как-то сгруппировать по возрастам.
...
Рейтинг: 0 / 0
20.03.2015, 16:19:57
    #38911304
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить запрос с группировкой по возрасту.
Создайте опорную таблицу групп возрастов (Группа, ВозрастОт, ВозрастДо). И задача станет элементарной.
Ну или группируйте по кейсу:

Код: sql
1.
2.
3.
4.
5.
6.
7.
GROUP BY CASE 
         WHEN bday > Now() - INTERVAL 18 YEAR THEN 1
         WHEN bday > Now() - INTERVAL 25 YEAR THEN 2
         WHEN bday > Now() - INTERVAL 30 YEAR THEN 3
         WHEN bday > Now() - INTERVAL 40 YEAR THEN 4
         ELSE                                      5
         END
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос с группировкой по возрасту. / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]