У меня есть этот запрос, и это возвращает два столбца, которые почти то же самое, за исключением двух столбцов это выглядит следующим образом:Как выбрать последнюю дату между двумя записями в MySQL
вход 1: LOTNUM = TAOM7U034N, OPCODE = 8385, DATEADDED = 2015-09-04 05:19:00, DATERELEASED = 2015-09-09 15:41:00
Ввод 2: LOTNUM = TAOM7U034N, OPCODE = 8385, DATEADDED = 2015-09-28 16 : 51: 00, DATERELEASED = 2015-10-01 14:34:00
SELECT
LOTNUM,
OPCODE,
DATERELEASED
FROM
HOURLY_FT_WIP.CACHE_IRAC_HOLD_LOTS AS i
WHERE
LOTNUM IN('TAOM7U034N')
AND DATEADDED =(
SELECT
MAX(DATEADDED)
FROM
HOURLY_FT_WIP.CACHE_IRAC_HOLD_LOTS x
WHERE
x.LOTNUM = i.LOTNUM
AND x.OPCODE = i.OPCODE
)
Этот запрос в порядке и возвращает 2-й вход и ю в том, что мне нужно. Но этот запрос занимает 15 секунд.
Я пытался модифицировать так:
SELECT
LOTNUM,
OPCODE,
DATERELEASED
FROM
HOURLY_FT_WIP.CACHE_IRAC_HOLD_LOTS AS i
WHERE
LOTNUM IN('TAOM7U034N')
GROUP BY LOTNUM, OPCODE
Это один гораздо быстрее, как 0,05 секунды. Однако это возвращает первую запись, которая является более старой датой. Мне нужна последняя дата, которая является второй.
Это хорошо. Но все еще надеялся, что еще есть ответы. – aozora