Как удалить повторяющиеся записи в MySQL на основе кода и даты сотрудника

Чтобы удалить повторяющиеся записи на основе кода сотрудника и даты в MySQL, вы можете использовать следующие методы:

Метод 1: использование временной таблицы и DISTINCT

CREATE TABLE temp_table AS
SELECT DISTINCT * FROM your_table
WHERE date = '2023-09-27 13:05:07';
DELETE FROM your_table
WHERE date = '2023-09-27 13:05:07';
INSERT INTO your_table
SELECT * FROM temp_table;
DROP TABLE temp_table;

Метод 2: использование самостоятельного соединения

DELETE t1
FROM your_table t1
JOIN your_table t2 ON t1.employee_code = t2.employee_code
WHERE t1.date = '2023-09-27 13:05:07' 
AND t1.date = t2.date
AND t1.id > t2.id;

Метод 3: использование подзапроса

DELETE FROM your_table
WHERE (employee_code, date) IN (
    SELECT employee_code, date
    FROM your_table
    WHERE date = '2023-09-27 13:05:07'
    GROUP BY employee_code, date
    HAVING COUNT(*) > 1
);

Обратите внимание, что в предоставленных запросах SQL следует заменить «your_table» фактическим именем вашей таблицы. Кроме того, обязательно создайте резервную копию своих данных перед выполнением любых операций по удалению.