sunny sunny - 4 months ago 16
MySQL Question

How to get Max date with selected row id in Mysql

I have a scenario in which i want to get Maximum Date but not from Whole Table Just from Selected id but i failed.

Here is my table

enter image description here

I run This Query For get my selected id

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


and i got that result

enter image description here

From that result I want to get that record which have maximum Date

I try that query but it not working for me

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


Can anyone help me??

Answer

Add the where clause twice and you should get the result you expected:

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))

And as i commented: it is very bad db design, to save values as CSV