SQLでグループの最後のレコードを取得する方法

「ユーザーのイベントログで、ユーザーが一番最後に行ったイベントを抽出する」など、 グループで分けたデータの最後のレコードを取得したい時があります。 ウィンドウ関数を使うと、下記のような形で求めることができます。 WITH tbl AS ( SELECT * ,ROW_NUMBER() OVER( PARTITION BY user_id ORDER BY event_time DESC ) AS row_num FROM event_log ) SELECT * FROM tbl WHERE row_num=1 「PARTITION BY」でグループ単位を指定し、「ORDER BY」で並び順を…