2011-08-17 5 views
0

私はアーカイブテーブルを持っています。列は、PK、ユーザー、ログ日時です。ユーザーがシステムにログインするとき、私はユーザーとdatetimeをアーカイブテーブルに書き出しています。ユーザーは1日に複数ログインすることができます。私は一日ですべてのユーザーFIRSTログイン時間を照会等の日時をユーザーに取得する必要があります特定のデータのSqlクエリ

Logdatetime内のデータは以下のようである「00.000 2010-03-16 00:00:00」: USER1 " 2010-03-16 03:21:00.000 ' user2' 2010-03-16 04:11:00.000 '

ユーザーの注文に関係なくです。 私はあまりにも多くの方法を試しましたが、方法を見つけることができませんでした。私が見つけた唯一の解決策は、すべてのユーザーのクエリを1つずつ確認することです。しかし、それは時間がかかります。どのように1つのクエリまたはより効率的な方法でこれを行うための任意のアイデア?

PS:私はあなたがユーザーに非常に最初にログインをしたいか、単に最初の特定の日のことを意味するかMS SQL Server 2005の

+2

はい、これらの回答を閲覧するだけで、質問はすべて重複しています(該当する場合は最小値を最大でスワップします)。(http://stackoverflow.com/questions/tagged/groups-n-per-group) –

+1

数分前に質問があり、回答が得られるはずです:http://stackoverflow.com/questions/7089777/how-to-select-top-record同じグループの –

答えて

1

を使用していますか?

このクエリ例は、正しい方向にあなたを導くかもしれません。

SELECT [User], MIN(LogDateTime) AS FirstLogin FROM [Archive Table] GROUP BY [User] 
関連する問題