ROW_NUMBER() 関数は検索結果レコードに1から始まる順番を付ける関数となっている。 OVER関数と共に用いられ、上位Nレコードや下位Nレコードを選択することが可能。
ROW_NUMBER() OVER(ORDER BY COLUMN [,COLUMN ...]) ROW_NUMBER() OVER(PARTITION BY COLUMN [,COLUMN...] ORDER BY COLUMN [,COLUMN...])
PARTITION BY によって、指定した項目ごとにグルーピングしてレコードを並び替えることが出来る。 セッションID毎に時系列順にURLを取得したい場合は以下のようにする。
ROW_NUMBER() OVER(PARTITION BY session_id ORDER BY event_timestamp) -- セッションごとにタイムスタンプ順に並び変え、1から順に番号を付ける。