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 ..)
?