SQL Server: ¿cómo imitar oracle keep dense_rank query?

Tengo una consulta de Oracle

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

que para datos 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

me devolverá exactamente esto:

2 10
4 20
6 30

Por lo tanto, para cada objeto que busca la última fecha de actualización y devuelve elid. (Y si hay varios ID para las últimas fechas, se necesita el último ID).

Pero para el servidor SQL, ¿esta consulta funcionará de la misma manera? Me refiero a esta construcciónkeep (dense_rank first order by ..)?

Respuestas a la pregunta(4)

Su respuesta a la pregunta