Oracle10gを使用しています。SQLでの私の調査-最大値とhttp://jan.kneschke.de/projects/mysql/groupwise-max/
の列を持つ行を選択する方法
max(row)をどうするかを考えてから、他のmax(rows)を見つけます。しかし、私はまだそこにいません。
基準: IDのmax(enroll_date)のコードは「WHEAT」である必要があります。
コードが「WHEAT」である最大登録日は必要ありません。最大登録日のコードが「WHEAT」の場合にのみ行が必要です。
質問:基準を満たすクエリを作成するにはどうすればよいですか?
ID = 30、Code = WHEATを返すため、これは機能しません。日付は2001年12月25日で、そのIDのmax(date)ではありません。
select ID, code, max(enroll_date)
from enrollment
where CODE = 'WHEAT'
group by ID, code
ID = 30、Code = WHEAT、date = 12/25/2001を返すため、これも機能しません。
select ID, code, max(enroll_date)
from enrollment
group by ID, code
having code='WHEAT'
これが私のテーブルです
ENROLLMENT
===========================
ID CODE ENROLL_DATE
--------------------------
01 WHEAT <NULL>
01 WHEAT 12/21/2007
01 WHEAT 7/30/2009
30 WHEAT 12/25/2001
30 CHAFF 6/14/2010
72 WHEAT 8/20/2002
72 WHEAT 12/7/2007
DESIRED RESULT
ID CODE ENROLL_DATE
================================
01 WHEAT 7/30/2009
72 WHEAT 12/7/2007