2012-03-26 16 views
0

私はあなたの助けが必要です。私は、DateTimeとPersonカラムを持つテーブルを持っています。各人には、それぞれの日付ごとに複数のレコードがあります。私は各日付のために各人のための最初のレコードを取得する必要があります。私はネストされたグループを使うべきだと思っていますが、その実装方法はわかりません。事前に おかげSQLネストされたグループによって、最初の行

+0

datetimeの各 "DATE"ごとに各人の最初のレコードですか、またはdatetimeエントリあたり1人あたり複数のレコードですか? – cairnz

答えて

3

あなたはOVER clauseと一緒ROW_NUMBERを使用することができます。

SELECT * 
FROM 
(
    SELECT  Your_Columns, 
       ROW_NUMBER() OVER (PARTITION BY Person, [DateTime] ORDER BY Your_Column_That_Decides_The_Order_Of_Records) AS R 
    FROM   Your_Table 
) v 
WHERE v.R = 1 
+0

素晴らしいソリューション、ありがとう:) –

0

グループの分(日付/時刻)列と残りの列を使用できます。

関連する問題