SQL Server: como imitar oracle manter consulta dense_rank?

Eu tenho uma consulta do Oracle

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

que para dados como este:

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

vai me devolver exatamente isso:

2 10
4 20
6 30

Então, para cada pesquisado, ele busca o updateDate mais recente e retorna o arquivo apropriado.id. (E se houver vários ids para as datas mais recentes, será necessário o id mais recente).

Mas para o SQL Server esta consulta funcionará da mesma maneira? Quero dizer esta construçãokeep (dense_rank first order by ..)?

questionAnswers(4)

yourAnswerToTheQuestion