Don’t use DATE_FORMAT when trying to assertain the latest date in a table. It won’t work. DATE_FORMAT will convert the dates to a string, and then the MAX will compare the strings, not the dates.
SELECT MAX(DATE_FORMAT(date_field, '%d-%m-%Y')) AS latest_dateĀ FROM table;
Is NOT the same as;
SELECT MAX(date_field) AS latest_dateĀ FROM table;
The latter is the correct way of doing it.