ऐसा करने का एक तरीका आपकी तिथि को उपयोगकर्ता-परिभाषित-चर में संग्रहीत करना होगा। फिर आप इसका उपयोग सबसे बड़ी तारीख के लिए आईडी निकालने के लिए कर सकते हैं
SET @A := (SELECT GREATEST(
IFNULL(max(date1), 0),
IFNULL(max(date2), 0),
IFNULL(max(date3), 0)
) FROM table1
);
-- here i JOIN a select that pulls out the correct id
SELECT t.joinid, max(`date1`), max(`date2`), max(`date3`)
FROM table1
JOIN
( SELECT id as joinid
FROM table1
WHERE @A IN -- WHERE my MAX date is in
(
SELECT date1 -- here the UNION is just putting all of the dates into one column to compare one date with
UNION ALL SELECT date2
UNION ALL SELECT date3
)
) t -- every table must have an alias