SQL Server 2014およびManagement Studioを使用しています。私が何をやっているのか説明しよう。複数のグループを持つ最新のレコードを取得するSQLクエリ
私は、次の(非常に単純化された)に似てテーブルを持っている
私はまあ、グローバルIDがある場合は、各パラメータのための最も現在のレコードをつかむだろうクエリを作成したいです同じ。私は次のようになりたいもの:
私は偉大なSQLジョッキーされていないで、私は少しの助けをしたいと思います。
私は見つけることができる最も近いものは、グローバルIDが一致していればそれだけで、ほとんどの現在のレコードをつかむだろうので、考慮にパラメータフィールドを取らない以下の通りであった:
SELECT TOP 1000
[OBJECTID], SampleDate,
Collector, Parameter, Result, Unit,
WellGlobalID, GlobalID
FROM
WellSamples
WHERE
SampleDate IN (SELECT MAX(SampleDate)
FROM WellSamples
GROUP BY WellGlobalID);
のいずれか(複数存在することができるかどうかに依存する)ROW_NUMBER()またはランク()とパラメータでパーティション/ globalidサンプルの日付を降順で並べ替えます。例えば'select *、row_number()を上回るselect(パラメータごとのパーティション、wellglobalid order by sampledate desc)rn from wellsamples)rn = 1;'この全く同じ質問をする何百もの質問があります。 。 – ZLK