Php 如何删除mysql表中的重复值
我在mysql表my_sale_time中有一列,类型为timestamp…实际上,行值如下所示Php 如何删除mysql表中的重复值,php,mysql,Php,Mysql,我在mysql表my_sale_time中有一列,类型为timestamp…实际上,行值如下所示 2010-12-01 14:38:07 2010-12-01 17:14:18 ... 所以我需要mysql查询来删除表中日期重复多次的值…正如我在示例销售中提到的那样\u time\u value…只有日期重复,值相同,但时间不同…所以我想得到所有行,重复多次日期并删除重复日期删除重复行的基本原则: CREATE TEMPORARY TABLE tmptbl AS SELECT DISTINCT
2010-12-01 14:38:07
2010-12-01 17:14:18
...
所以我需要mysql查询来删除表中日期重复多次的值…正如我在示例销售中提到的那样\u time\u 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子句。我不太理解您的条件。
当然,您应该在开发服务器上测试运行它,不要忘记将其作为带有锁定表的单个事务运行。如果您有一个自动增量字段,请使用以下命令:
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作为选择DISTINCT DATEsale_time,*from my_sale_time,并检查tmptbl是否包含您想要的行。好的,我将告诉您我需要什么,,,,,我有列'sale_time',它存储了date和time值…..所以,我想要的是,我只想删除重复超过1的日期,,,,这里是示例:2010-12-01 14:38:072010-12-01 17:14:18。若你们注意到这些值,你们可以发现日期是相同的,但时间是不同的,所以我想如何从表中删除这些类型的值…如何?你们有你们的答案。不要先喂我饼干now@shahid:请停止再次发布相同的评论。这并不能让事情变得更清楚!