Sql server 删除重复记录的SQL语句
原文地址:https://www.cnblogs.com/luohoufu/archive/2008/06/05/1214286.html
在项目开发过程中有个模块日清表页面数据重复,当时那个页面的数据是查询n多个表,晚上跑的定时任务执行昨天的sql语句,为了方便修改用的存储跑的。
数据重复了,在测试服务器上没有类似的情况发生。
并且不能删除掉数据。
紧急情况下,先将源头查询查询数据过滤掉,将原有表结构复制一份修改成copy表,然后将历史数据根据时间段一点一点查询出来,然后将两个文件名称调换。
可是重复数据如何删除呢:
SELECT * FROM today_order t INNER JOIN ( SELECT tt.platform_number,tt.payment_bh, MAX (tt.id) AS id FROM today_order tt GROUP BY tt.platform_number,tt.payment_bh ) a ON t.platform_number = a.platform_number AND t.payment_bh=a.payment_bh AND t.id <> a.id
DELETE t FROM today_order t INNER JOIN ( SELECT tt.platform_number,tt.payment_bh, MAX (tt.id) AS id FROM today_order tt GROUP BY tt.platform_number,tt.payment_bh ) a ON t.platform_number = a.platform_number AND t.payment_bh=a.payment_bh AND t.id <> a.id
---------------------------------------------------------------------------
国之殇,未敢忘!
南京大屠杀!
731部队!
(有关书籍《恶魔的饱食》)以及核污染水排海等一系列全无人性的操作,购买他们的食品和为它们提供帮助只会更加变本加厉的害你,呼吁大家不要购买日本相关产品
昭昭前事,惕惕后人
吾辈当自强,方使国不受他人之侮!
---------------------------------------------------------------------------
作者:三号小玩家
出处:https://www.cnblogs.com/q1359720840/
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 版权信息