SQL Server: как подражать оракулу, держать запрос density_rank?
У меня есть запрос Oracle
select max(m.id),
m.someId keep (DENSE_RANK FIRST ORDER BY m.UpdateDate desc)
from MyTable m
groupBy m.someId
который для данных, как это:
id UpdateDate someId
1 20-01-2012 10
2 20-01-2012 10
3 01-01-2012 10
4 10-02-2012 20
5 01-02-2012 20
6 01-04-2012 30
вернет мне именно это:
2 10
4 20
6 30
Таким образом, для каждого someId он ищет последнее updateDate и возвращает соответствующийid
, (И если есть несколько идентификаторов для последних дат, требуется последний идентификатор).
Но для сервера SQL этот запрос будет работать так же? Я имею в виду эту конструкциюkeep (dense_rank first order by ..)
?