2

ID、ユーザー、日付の 3 つの列を持つデータ セットがあるとします。

一部の行に同一の ID がある場合でも、最小日付に基づいてデータをフィルター処理することは可能ですか?

質問が少し不明確な場合は申し訳ありません。うまくいけば、下の画像が物事を明確にするのに役立ちます.

ID=1 の 2 つのレコードがあり、ユーザーと日付が異なります。取得したいのは、ID=1、USER=A、DATE=2013-01-20 のレコードです。これは、日付が 2 番目のレコード (ID=1、USER=A、DATE=2013-01) よりも古いためです。 -21)

ID=2 の 3 つのレコードに対して同じ効果を実現したいと考えています。目的のレコードは ID=2、USER=C、DATE=2013-10-20 です

基本的に、これらのレコードを ID でグループ化し、そのグループから日付が最も古いレコードを取得します。

データセット + 意図した出力

4

3 に答える 3

3
SELECT id, user, date
FROM OriginalData od
WHERE date = (SELECT MIN(date) 
              FROM OriginalDate od1 
              WHERE od.id = od1.id)
于 2013-10-12T03:37:09.407 に答える
0
Select * from table_name where date in 
( select MIN(date) from table_name)
于 2013-10-12T03:35:06.687 に答える
0

属性に使用Group By句がありIdます。

次の構文を使用します

select * from tab1 where (id, date) in (select id, min(date) from tab1 group by(id))
于 2013-10-12T03:37:42.907 に答える