Вот моя структура таблицы:
CREATE TABLE USER (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50),
`status` VARCHAR(50),
`dateupdated` DATETIME
) ENGINE = INNODB;
Если данные имеют ID
в качестве первичного ключа, то имя пользователя может быть повторено, скажем, у меня есть 3 пользователя, и у всех них былоОбновление статуса вчера и сегодня.Теперь мой вопрос: как выбрать только последние обновления статуса от каждого пользователя? Вот мое решение
SELECT user.`username`, latest.status AS latest_status , user.`dateupdated`
FROM USER
LEFT JOIN USER AS latest ON user.`id` = latest.id
ORDER BY dateupdated DESC;
... но оно кажется неправильным, потому что оно "также" распечатало данные, датированные вчера,как это сделать, чтобы получить точные последние данные только для каждого пользователя и избежать распечатки прошлых данных?