powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / группировка по возрасту по интервалам
13 сообщений из 13, страница 1 из 1
группировка по возрасту по интервалам
    #32355553
Ilia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть поле, где хранится возраст человека в годах.
Как подсчитать количество людей в определеном интервале не делая на каждый интервал отдельный запрос.
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32355573
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаешь функцию, которая в зависимости от интервала выдает различные значения. группируешь по этому значению

второй вариант, хорош для ADP
делаешь таблицу с возраст мин, возраст макс название интервала

в запрос вставляешь подчиненный запрос в котором вычислается интервал в который попадает возраст, также добавить в группировку
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356104
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ,если захотеть ,то можно без функций и дополнительных таблиц :)
Код: plaintext
1.
2.
3.
SELECT Interval*int(Age/Interval) &  "-"  & Interval*(int(Age/Interval)+ 1 )- 1  AS [Interval],
count(*) AS qty
FROM MyTable 
GROUP BY int(Age/Interval);
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356267
Ilia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А про функцию можно поподробнее.
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356426
фыыф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>>Есть поле, где хранится возраст человека в годах

и каждый год мы с приятелями 31-го декабря его апдейтим :)
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356515
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно поподробнее
в модуле пишем:

Public Function MyAge(sngAge)

Select Case sngAge
Case Is < 0
MyAge = "Возраст отрицательный"
Case 0 To 5
MyAge = "01. 0 - 5 лет"
Case 5 To 10
MyAge = "02. 5 -10 лет"

'и так далее

Case 45 To 60
MyAge = "11. 45 - 60 лет"

Case Is > 60
MyAge = "12. старше 60 лет"

Case Else
MyAge = "Неизвестный период" 'будет выдавать ошибку если есть пропуски в классификации
End Select
End Function

забиваешь все периоды как тебе нужны

тестируешь в debug (ctrl+G)
набирая
? MyAge(44)
и жмя энтер видеть результаты

затем воткнуть что-то типа
Группа-Возраста: MyAge(Поле_С_Возрастом)
в конструктор запросов и радоваться
группировке по этому полю
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356516
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>и каждый год мы с приятелями 31-го декабря его апдейтим :)

апдейтить нада в день варенья тогда уж
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356532
CtrlAlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что это никто про стандартную функцию Partition не вспомнил? Как раз для этого дела
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356619
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мдя..
редко использовали значить..
Плюс своя функция гибче :)
например, в статистике человеки по возрастам неравномерно делятся вроде бы
а partition даст только равномерную разбивку
плюс ее еще и обработать/отформатировать нада
к каждому определенному случаю
не везде ж " 500: 549" подойдет...
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356669
фыыф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>>апдейтить нада в день варенья тогда уж


само-собой, но уж шютка тогда тяжеловата(о) виходит. :)


Энто я просто вспомнил, шо тут люди что-то такое обсуждали. Но с хранением не возраста, а дня варенья, и пользованием DateAdd()/DateDiff()/DatePart()
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32356883
Ilia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я неверно задал вопрос.
Есть поле день варенья.
Есть фунция, где счиется возраст каждого человека (их много ~ 20000)
Есть запрос с этой функцией, где выдается возраст.
Как получить запрос или отчет, где выдавалось бы:
Возраст Кол-во чел.
1-10 5

11-20 5 т.д.
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32357356
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
группировка по возрасту по интервалам
    #32358124
Ilia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все разобрался. Всем спасибо и особенно Alexus12 , т.к. использовал его решение.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / группировка по возрасту по интервалам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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