У меня есть столбец в таблице mysql ( my_sale_time
) типа timestamp
…. infact значение строк выглядит так:
2010-12-01 14:38:07 2010-12-01 17:14:18 ...
поэтому мне нужен запрос mysql для удаления тех значений, чья дата повторяется несколько раз в таблице ….. как я упомянул в sample sale_time_value
….. только дата повторяется с одинаковым значением, но время разное …. так я хочу получить все строки, дата повторяется несколько раз и удаляет повторяющиеся даты
Основной принцип удаления повторяющихся строк:
CREATE TEMPORARY TABLE tmptbl AS SELECT DISTINCT * FROM my_sale_time; DELETE FROM my_sale_time; INSERT INTO my_sale_time SELECT * FROM tmptbl;
Возможно, вам придется указывать столбцы и предложения WHERE (я не совсем понял ваши критерии). И, конечно же, вы должны протестировать его на сервере разработки и не забывать запускать его как одну транзакцию с заблокированными таблицами.
Если у вас есть поле auto_increment, используйте это:
DELETE FROM `mytable` WHERE `my_auto_increment_field` NOT IN ( SELECT MAX(`my_auto_increment_field`) GROUP BY `my_sale_time` );