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