数据库中怎样删除时间相同的记录?

来源:百度知道 编辑:UC知道 时间:2024/06/16 14:37:43
id date bb
1 2008-12-31 3
2 2009-01-01 4
3 2009-01-01 4
主键是id

delete from 表名 where id in (select min(id),date from 表名
group by date having count(date)>1)

这是删除一条 2 3 id的时间相同 删除 2的了

如果你想全删除
delete from 表名 where date in (select date from 表名
group by date having count(date)>1)

如果你想删除第4个
delete from 表名 where id in (select max(id),date from 表名
group by date having count(date)>1)

你是想把相同的都删除,还是想保留其中一条呢?

遍历记录,删除相同时间字段
。。。。。

思路:先查询重复记录,然后删除不包含重复记录的数据,就可以删除相同的记录了
delete 表名 where id not in(select distinct id from 表名)

DELETE FROM 表名 GROUP BY date HAVING COUNT(date) > 1