Я хочу рассчитывать на человека в возрасте - PullRequest
0 голосов
/ 08 января 2019

У меня есть таблица, которая имеет много столбцов и до 1 миллиона записей. Я хочу, чтобы количество человек в возрасте и на имя_сервиса.

Мои столбцы таблицы похожи на:

birthdate     person_id       service_name
-----------------------------------------------
1989/12/02    123456789       sql_server
1984/11/22    548321697       developer_server
1983/12/02    685221698       texas_server
1989/05/02    845132023       network_server
1986/05/15    210254638       sad_server
1990/03/22    853612045       happy_server
     .                 .                  .
     .                 .                  .
     .                 .                  .
     .                 .                  .
     .                 .                  .

1 Ответ

0 голосов
/ 08 января 2019

Насколько точно вы хотите, чтобы возраст был? Год рождения? Полных лет? Что-то более точное? Ваш столбец дня рождения относится к типу Oracle DATE?

Если предположить, что это ДАТА, то вам нужно что-то вроде этого, чтобы получить полные годы:

SELECT EXTRACT( YEAR FROM ( SYSDATE - birthdate ) YEAR TO MONTH ) AS age
     , service_name
     , COUNT( 1 ) AS person_count
    FROM my_table
GROUP BY EXTRACT( YEAR FROM ( SYSDATE - birthdate ) YEAR TO MONTH )
       , service_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...