Как получить максимальную дату с выбранным идентификатором строки в Mysql

У меня есть сценарий, в котором я хочу получить максимальную дату, но не из всей таблицы только из выбранного идентификатора, но мне не удалось.

Вот мой стол

введите описание изображения здесь

Я запускаю этот запрос для получения выбранного идентификатора

SELECT * FROM `tbl_methodology` WHERE FIND_IN_SET(6, `col_select_corporate`)

и я получил этот результат

введите описание изображения здесь

Из этого результата я хочу получить ту запись, которая имеет максимальную дату

Я пытаюсь этот запрос, но он не работает для меня

SELECT * FROM `tbl_methodology` WHERE  id IN (1,5,7) AND `col_date` = (
SELECT MAX(`col_date`)
FROM `tbl_methodology`)

Может кто-нибудь мне помочь??

0

Решение

Добавьте предложение where дважды, и вы получите ожидаемый результат:

SELECT * FROM `tbl_methodology` WHERE  id IN (1,5,7) AND `col_date` = (
SELECT MAX(`col_date`)
FROM `tbl_methodology` WHERE  id IN (1,5,7))

И как я прокомментировал: это очень плохой дизайн БД, чтобы сохранить значения как CSV

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]