Php 如何删除mysql表中的重复值

Php 如何删除mysql表中的重复值,php,mysql,Php,Mysql,我在mysql表中有一列(my_sale\u time)类型为timestamp…实际上行值如下所示 2010-12-01 14:38:07 2010-12-01 17:14:18 ... 所以我需要mysql查询来删除表中日期重复多次的值……正如我在示例sale\u time\u value中提到的……只有date以相同的值重复,但time不同……所以我想得到所有行,重复多次日期并删除重复日期删除重复行的基本原则: CREATE TEMPORARY TABLE tmptbl AS SELEC

我在mysql表中有一列(
my_sale\u time
)类型为
timestamp
…实际上行值如下所示

2010-12-01 14:38:07
2010-12-01 17:14:18
...

所以我需要mysql查询来删除表中日期重复多次的值……正如我在示例
sale\u time\u value
中提到的……只有date以相同的值重复,但time不同……所以我想得到所有行,重复多次日期并删除重复日期

删除重复行的基本原则:

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子句(我不太理解您的标准)。
当然,您应该在开发服务器上测试运行它,不要忘记将其作为带有锁定表的单个事务运行。

如果您有一个自动增量字段,请使用以下命令:

DELETE FROM
    `mytable`
WHERE
    `my_auto_increment_field` NOT IN (
        SELECT
            MAX(`my_auto_increment_field`)
        GROUP BY
            `my_sale_time`
    );

首先,您需要确定要保留的重复行的标准,因为所有列都不是精确的重复。我假设所有其他列都相同,只是时间戳的时间部分不同?您是否在所讨论的表上有一个自动递增列,表明存在重复?好的,我将告诉您我需要什么,,,,,我有列'sale_time',它存储了date和time值…..所以,我想要的是,我只想删除重复超过1的日期,,,,这里是示例:2010-12-01 14:38:072010-12-01 17:14:18。如果您注意到这些值,您可以发现日期是相同的,但时间是不同的,因此任何我想要从表中删除此类值的方式…如何?运行
创建临时表tmptbl作为选择不同的日期(销售时间),*从我的销售时间
并检查
tmptbl
是否包含您想要的行。好的,我将告诉您我需要什么,,,,,我有列'sale_time',它存储了date和time值…..所以,我想要的是,我只想删除重复超过1的日期,,,,这里是示例:2010-12-01 14:38:072010-12-01 17:14:18。若你们注意到这些值,你们可以发现日期是相同的,但时间是不同的,所以我想如何从表中删除这些类型的值…如何?你们有你们的答案。不要从“现在就给我送饼干”开始@shahid:请不要再发布同样的评论。这并不能让事情变得更清楚!