MySQL DELETE DUPLICATES, но сохраните последнюю датуMySql

Форум по Mysql
Ответить
Anonymous
 MySQL DELETE DUPLICATES, но сохраните последнюю дату

Сообщение Anonymous »

В MySQL 5.7 я уже создал таблицу, чтобы разместить свои дубликаты. Данные выглядят так: < /p>

Код: Выделить всё

|email   | lastsenddate |
-------------------------
| email1 | 2023-06-05   |
-------------------------
| email1 | 2024-12-01   |
-------------------------
| email2 | 2024-11-25   |
-------------------------
| email2 | 2025-01-12   |
-------------------------
< /code>
Я написал этот запрос: < /p>
SELECT `email`, MAX(`lastsenddate`) FROM `dupeTable` GROUP BY `email`
< /code>
, которые дают мне этот результат: < /p>
|email   | lastsenddate |
-------------------------
| email1 | 2024-12-01   |
-------------------------
| email2 | 2025-01-12   |
-------------------------
< /code>
Используя принятый ответ отсюда: MySQL Удалить дубликаты записей, но сохраняйте последние < /p>
Я написал этот запрос: < /p>
DELETE FROM `dupeTable` WHERE `email` NOT IN (SELECT MAX(`lastsenddate`) FROM `dupeTable` GROUP BY `email`);
< /code>
Но я получаю ошибку, которая считывает: < /p>
#1093 - You can't specify target table 'dupeTable' for update in FROM clause
Что я сделал неправильно и как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ecent-date
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»