Как показать количество пользователей по возрастным группам Dynami c - PullRequest
0 голосов
/ 01 марта 2020

У меня есть таблица, в которой хранятся DoB пользователей. Теперь мне нужен отчет (Crystal Report), который показывает, сколько пользователей в возрасте.

Например, в отчете необходимо указать:

Возраст: 1-10: 50 пользователей

Возраст: 11-20: 30 пользователей

Возраст : 21-30: 60 пользователей И так далее ...

Отчет должен соответствовать следующим правилам:

  1. Диапазон возраста можно легко изменить (диапазон в пример выше 10)

  2. Последний диапазон рассчитывается автоматически на основе самого старого пользователя

На самом деле я понятия не имею, как сделай это сейчас. Я действительно ценю любую помощь.

Спасибо!

1 Ответ

0 голосов
/ 01 марта 2020

Вы можете определить диапазоны, используя арифметику c. Точный синтаксис может варьироваться в зависимости от базы данных, но в основном это:

select (floor( (a - 1) / 10 ) * 10 + 1) || '-' ||  (floor( (a - 1) / 10 ) * 10 + 10) as age_range,
       count(*)
from t
group by (floor( (a - 1) / 10 ) * 10 + 1) || '-' ||  (floor( (a - 1) / 10 ) * 10 + 10)
order by min(age);

Выражение floor( (a - 1) / 10 ) * 10 + 1 - это просто математическое выражение, которое получает первый год диапазона - поэтому 1-10 находятся в одной группе , 11-20 и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...