重複の可能性:
最大値を含むテーブルのレコードを取得する方法は?
次のような集計クエリがあります。
SELECT TrainingID, Max(CompletedDate) as CompletedDate, Max(Notes) as Notes --This will only return the longest notes entry
FROM HR_EmployeeTrainings ET
WHERE (ET.AvantiRecID IS NULL OR ET.AvantiRecID = @avantiRecID)
GROUP BY AvantiRecID, TrainingID
これは機能しており、ほとんどの場合正しいデータを返しますが、問題に気付きました。返される Notes フィールドは、必ずしも max(completedDate) の元のレコードと一致するとは限りません。代わりに、最も長い文字列を持つものになりますか? それともASCII値が最も高いものですか?2 つのレコードが一致した場合、SQL Server は何をしますか? よくわかりません。私が取得したいのは、max(completedDate) レコードの notes フィールドです。これを行うにはどうすればよいですか?