У меня есть таблица А как это:Как отобразить максимальное значение из группы столбцов. Максимальное значение должно отличаться от рисунка
ID | L1 |L2 | Date
-- |----- |---- | ---------
1 | A | B | 2003-01-01
---|------|-----|----------
2 | A | B | 2004-05-01
---|------|-----|----------
3 | B | C | 2003-01-01
---|------|-----|-----------
4 | B | C | 9999-12-31
---|------|-----|-----------
5 | C | D | 1998-02-03
---|------|-----|-----------
6 | C | D | 2004-05-01
Нормальная ситуация, когда для пары букв (AB, BC, CD) является дата = «9999-12-31» , Поэтому для двух пар букв (AB, CD) я пропущу дату «9999-12-31» , и мне нужно написать запрос, чтобы увидеть эти буквы и идентификаторы.
Я написал запрос типа (чтобы увидеть дату макс пары букв)
select distinct L1, L2, max(date) from A GROUP BY
L1, L2
having max(date)<>'9999-12-31'
Этот запрос показывает правильные строки, но мне нужно также увидеть идентификаторы и это то, что я не мог этого сделать. Кто-нибудь знает, как написать запрос, чтобы увидеть идентификаторы? ID всегда уникален
Спасибо!
Это неясно. Таким образом, вы исключаете B, C, потому что по крайней мере одна строка имеет дату в 9999. Это кажется ясным. Но тогда, для A, B вам нужны обе строки или только одна с наивысшей датой? То же самое для C, D. – mathguy
Я хочу отобразить в запросе самую высокую дату для этой пары букв, у которых нет даты = '9999-12-31'. Поэтому в результате запроса мне нужно иметь A, B и C, D с наивысшими датами для обоих. –