Вложенная группа SQL, первая строка - PullRequest
0 голосов
/ 26 марта 2012

Мне нужна твоя помощь. У меня есть таблица со столбцами DateTime и Person. У каждого человека есть несколько записей для каждой даты. Мне нужно получить первую запись для каждого человека на каждую дату. Я полагаю, что должна использоваться вложенная группа, но я не знаю, как это реализовать. Заранее спасибо

Ответы [ 3 ]

3 голосов
/ 26 марта 2012

Вы можете использовать ROW_NUMBER вместе с предложением OVER :

SELECT   *
FROM
(
    SELECT       Your_Columns,
                 ROW_NUMBER() OVER (PARTITION BY Person, [DateTime] ORDER BY Your_Column_That_Decides_The_Order_Of_Records) AS R
    FROM         Your_Table
) v
WHERE v.R = 1
1 голос
/ 26 марта 2012

Я бы порекомендовал взглянуть на row_number и другие функции ранжирования, которые SQL Server предлагает для этого. Действительно полезные инструменты для использования в других сценариях http://msdn.microsoft.com/en-us/library/ms189798.aspx

0 голосов
/ 26 марта 2012

Вы можете использовать столбец min (дата / время) и оставшийся столбец в группе по.

...