SQL Server: jak naśladować kwerendę utrzymywania gęstości przez Oracle?

Mam zapytanie Oracle

select max(m.id),
       m.someId keep (DENSE_RANK FIRST ORDER BY m.UpdateDate desc) 
from MyTable m 
groupBy m.someId

które dla takich danych:

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

zwróci mi dokładnie to:

2 10
4 20
6 30

Tak więc, dla każdego someId szuka najnowszej aktualizacji i zwraca odpowiedniid. (A jeśli jest kilka identyfikatorów na ostatnie daty, to pobiera najnowszy identyfikator).

Ale w przypadku serwera SQL to zapytanie działa w ten sam sposób? Mam na myśli tę konstrukcjękeep (dense_rank first order by ..)?

questionAnswers(4)

yourAnswerToTheQuestion