特定の GUID でグループ化したいクエリがありますが、単一のグループを日付で並べ替え (簡単)、各グループの最新のレコードに基づいて結果セット全体を並べ替え、その順序を一覧表示したい結果セットとして。くっついてほしい。それは理にかなっていますか?
私が思いつくことができる最高のものは次のとおりです。
SELECT
ID, data, Date,
row_number() OVER (PARTITION BY GUID ORDER BY Date DESC) AS rn
FROM
MyTable
ただし、これは結果セット全体の日付を考慮していません。
デフォルトのテーブル
ID data Date GUID
0 mapper started 2012-10-16 12:18:52 SessionID:[376f795a-dba2-49e1-8047-dbac9141d78b]
1 view models init 2012-10-16 12:18:53 SessionID:[2a1be1ce-606a-44ca-8400-75b7fd23d09a]
2 view load 2012-10-16 12:18:54 SessionID:[2a1be1ce-606a-44ca-8400-75b7fd23d09a]
3 mapper load 2012-10-16 12:18:55 SessionID:[376f795a-dba2-49e1-8047-dbac9141d78b]
4 view finished 2012-10-16 12:18:56 SessionID:[2a1be1ce-606a-44ca-8400-75b7fd23d09a]
5 mapper finished 2012-10-16 12:18:57 SessionID:[376f795a-dba2-49e1-8047-dbac9141d78b]
必要なクエリ出力:
ID data Date GUID
5 mapper finished 2012-10-16 12:18:57 SessionID:[376f795a-dba2-49e1-8047-dbac9141d78b]
3 mapper load 2012-10-16 12:18:55 SessionID:[376f795a-dba2-49e1-8047-dbac9141d78b]
0 mapper started 2012-10-16 12:18:52 SessionID:[376f795a-dba2-49e1-8047-dbac9141d78b]
4 view finished 2012-10-16 12:18:56 SessionID:[2a1be1ce-606a-44ca-8400-75b7fd23d09a]
2 view load 2012-10-16 12:18:54 SessionID:[2a1be1ce-606a-44ca-8400-75b7fd23d09a]
1 view models init 2012-10-16 12:18:53 SessionID:[2a1be1ce-606a-44ca-8400-75b7fd23d09a]