Я использую Oracle 10g.Мое исследование в
SQL - Как выбрать строку, имеющую столбец с максимальным значением
и адресом
http://jan.kneschke.de/projects/mysql/groupwise-max/
, что делать с max (строка)а затем найти другой максимум (строки) Но я еще не там.
Критерии: Код для максимального значения идентификатора (enroll_date) должен быть «WHEAT».
Мне не нужна максимальная дата зачисления, где код «WHEAT».Я хочу строку только в том случае, если для максимальной даты регистрации используется код «WHEAT».
Вопрос: Как мне написать запрос, соответствующий критериям?
Это не такt работает, потому что возвращает ID = 30, код = WHEAT, где дата 12/25/2001, которая не является максимальной (датой) для этого идентификатора.
select ID, code, max(enroll_date)
from enrollment
where CODE = 'WHEAT'
group by ID, code
Это также не работает, потому чтоон также возвращает ID = 30, код = WHEAT, где дата = 25/12/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