У меня таблица выглядит следующим образом:
ID B C date01 date02 date03
11 xxx xxxx 2020-05-01 2020-05-02 2020-06-02
11 xxx xxxx 2020-06-01 2020-06-03 2020-05-02
11 xxx xxxx 2020-07-01 2020-07-03 2020-06-30
11 xxx xxxx 2020-07-01 2020-06-03 2020-06-30
11 xxx xxxx 2020-01-01 2020-01-08 2020-05-02
11 xxx xxxx 2020-02-01 2020-01-31 2020-05-02
22 xxx xxxx 2020-05-01 2020-05-02 2020-06-02
22 xxx xxxx 2020-06-01 2020-06-03 2020-05-02
22 xxx xxxx 2020-07-01 2020-07-03 2020-06-30
22 xxx xxxx 2020-07-01 2020-06-03 2020-06-30
22 xxx xxxx 2020-01-01 2020-01-08 2020-05-02
22 xxx xxxx 2020-02-01 2020-01-31 2020-05-02
Я хочу вернуть все, но с самой последней датой из этих трех дат для каждого идентификатора, а date02 не может быть позже date03, мой текущий вывод будет дайте мне это где date02> date03:
11 xxx xxxx 2020-07-01 2020-07-03 2020-06-30
Ожидаемый результат:
11 xxx xxxx 2020-07-01 2020-06-03 2020-06-30
22 xxx xxxx 2020-07-01 2020-06-03 2020-06-30
Я пробовал это:
SELECT
id,
B,
C,
max(date01),
max(date02),
max(date03),
FROM
table
WHERE
'date02' < 'date03'
GROUP BY id
Я добавил WHERE 'date02' < 'date03'
, но почему на выходе все еще есть записи, где date02> date03 ?? Я очень новичок в SQL, пожалуйста, помогите ...