помогите с запросом в DB2 - PullRequest
0 голосов
/ 23 марта 2011

Мне нужна ваша помощь с моим запросом. У меня есть таблица employee.details со следующими столбцами: имя_файла, имя, фамилия, возраст_флоата.

Я хочу, чтобы в этом запросе были перечислены все различные значения age_float атрибут, один в каждой строке таблицы результатов, а рядом с каждым во втором поле показывают количество людей в таблице данных, которые имели возраст меньше или равный этому значению. Есть идеи? Спасибо!

1 Ответ

2 голосов
/ 23 марта 2011

Вы можете использовать функции OLAP:

SELECT DISTINCT age_float, 
       COUNT(lastname) OVER(ORDER BY age_float) AS number
  FROM employee_details

COUNT(lastname) OVER(ORDER BY age_float) AS number упорядочивает строки по возрасту и возвращает количество сотрудников, чей возраст <= текущий возраст строк </p>

или простое соединение:

SELECT A.age_float, count(lastname)
  FROM (SELECT DISTINCT age_float FROM employee_details) A
JOIN employee_details AS ED ON ED.age_float <= A.age_float
GROUP BY A.age_float
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...