SQL Server 2012には、次のようにログイン時間とログアウト時間を追跡するテーブルがあります。
UserId Type InsertDate
2134 1 20120803 06:32:02.230
2134 1 20120803 10:12:24.350
2134 2 20120803 10:29:21.550
2134 2 20120803 14:10:34.220
5915 1 20120802 14:57:57.453
5915 2 20120802 16:59:00.477
(タイプ1はログイン、タイプ2はログアウトです。)
このテーブルにクエリを実行したいのですが、ログインとログアウトのペアごとに計算されたタイムスパンを秒単位で含むユーザーIDのグループ化されたリストを表示するため、次のようになります。
UserID Duration
2134 1017
5915 7263
更新:個々のユーザーに対して複数のログイン/ログアウトのペアが存在する可能性があり、対応するログアウトなしでログインが発生する可能性があります。対応する値がないログインまたはログアウトを無視したいのですが。