我在类型为my_sale_time
的mysql表(timestamp
)中有列....实际上,行值看起来像这样
2010-12-01 14:38:07
2010-12-01 17:14:18
...
所以我需要mysql查询来删除那些日期在表格中重复多次的值.....我在样本sale_time_value
中提到.....只有日期重复具有相同的值,但时间是不同的...所以我想获取所有行,日期重复多次并删除重复日期
答案 0 :(得分:7)
删除重复行的基本原则:
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子句(我真的不了解您的标准)。 当然,您应该在开发服务器上测试它,并且不要忘记将它作为具有锁定表的单个事务运行。
答案 1 :(得分:0)
如果您有auto_increment字段,请使用:
DELETE FROM
`mytable`
WHERE
`my_auto_increment_field` NOT IN (
SELECT
MAX(`my_auto_increment_field`)
GROUP BY
`my_sale_time`
);