Выберите Макс из каждого подмножества

Я бьюсь головой здесь. Я чувствую себя довольно глупо, потому что уверен, что делал что-то подобное раньше, но хоть убей не могу вспомнить, как. Я думаю, что на днях>. <

Допустим, у меня есть следующие данные: ---> и запрос, который возвращает это: ---> Но я хочу это:

ID   FirstID              ID   FirstID                ID   FirstID
--   -------              --   -------                --   -------
1     1                   1    1                      7    1
2     1                   3    3                      3    3
3     3                   4    4                      6    4
4     4                   5    5                      5    5
5     5
6     4
7     1

Обратите внимание, что мой запрос возвращает записи, в которых ID = FirstID, но я хочу, чтобы он возвращал Max (ID) для каждого подмножества уникального FirstID. Звучит достаточно просто, правда? Я так и думал, но все время возвращаюсь только к записи №7. Вот мой запрос (тот, который возвращает второй блок цифр выше) с тестовым кодом, чтобы облегчить вашу жизнь. Мне это нужно, чтобы получить результаты в крайнем правом блоке. Следует отметить, что это таблица с самосоединением, где FirstID - это внешний ключ для ID. Спасибо :)

declare @MyTable table (ID int, FirstID int)
insert into @MyTable values (1,1),(2,1),(3,3),(4,4),(5,5),(6,4),(7,1)
select ID, FirstID
from @MyTable
where ID = FirstID
5
задан Chiramisu 15 November 2011 в 03:09
поделиться