如何删掉表中重复的记录,保留重复记录中ID最小的一条记录?

99_mei 2004-12-10 11:20:03
如何删掉表中重复的记录,保留重复记录中ID最小的一条记录?
...全文
143 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
alipaymate 2004-12-10
  • 打赏
  • 举报
回复
靠, 我搞错了。
alipaymate 2004-12-10
  • 打赏
  • 举报
回复
delete tbl where id not in ( select min(id) from tbl group by 重复字段 having count(*)>1)
RainYang 2004-12-10
  • 打赏
  • 举报
回复
delete tbl where id in ( select max(id) from tbl group by 重复字段 having count(*)>1)
RainYang 2004-12-10
  • 打赏
  • 举报
回复
sorry,应该是
delete tbl where id in ( select max(id) from tbl group by 重复字段 having count(id)>1)
RainYang 2004-12-10
  • 打赏
  • 举报
回复
delete tbl where id in ( select min(id) from tbl group by 重复字段 having count(id)>1)
good2speed 2004-12-10
  • 打赏
  • 举报
回复
DECLARE @t TABLE(
id_num INT IDENTITY(1,1) UNIQUE CLUSTERED,
i INT
)

INSERT INTO @t(i)
SELECT 1 UNION ALL
SELECT 1 UNION ALL
SELECT 1 UNION ALL
SELECT 2 UNION ALL
SELECT 2 UNION ALL
SELECT 3

DELETE @t
FROM @t AS t,(SELECT MIN(id_num) AS id_num,i FROM @t GROUP BY i) AS a
WHERE t.id_num <> a.id_num AND t.i = a.i

/**//* DELETE FROM @t WHERE id_num NOT IN (SELECT MIN(id_num) FROM @t GROUP BY i) */

SELECT * FROM @t

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧