У меня есть таблица в моей базе данных MySQL, в которой мне нужно удалить дубликаты.Удаление дубликатов по максимальной дате
Моя таблица выглядит следующим образом:
unique_id value frequency value_type publication_date
1 6.5 1 2 2014-12-31
2 7.5 3 5 2014-06-04
3 6.5 1 2 2015-07-13
4 8.0 4 3 2010-12-31
Ряды 1 и 3 являются дубликатами за дата_публикации исключения. Мне нужно удалить эти дубликаты, но сохранить строку с максимальной датой публикации, поэтому в этом примере я хотел бы удалить строку 1 и сохранить строку 3.
До сих пор я пробовал это, но это дает мне слишком много результатов по мой тестовый стол:
SELECT t.* FROM
(SELECT MAX(publication_date) AS most_recent_date
FROM table_1
GROUP BY `value`,frequency,value_type
) t1
JOIN table_1 t
ON t.publication_date = t1.most_recent_date;
Любая помощь будет принята с благодарностью.
Спасибо.
Я вижу логику этого, но когда я бегу выберите версию этого я не получаю никаких результатов. –