SELECT id, MAX(date) FROM table GROUP BY id
ORDER пишется после, а не перед. Смысл группировки в том, чтобы сгруппировать несколько полей, у которых одинаковые значения. Группируются только те строки, у которых
все поля (кроме тех, которые в агрегатных функциях) идентичны.