回答

收藏

从表中删除重复记录-SQL查询

技术问答 技术问答 294 人阅读 | 0 人回复 | 2023-09-14

我只需要从表中删除重复的行,就像我在表中有3个重复的行一样,我的查询将从3个重复的行中删除2个行。
; O  N: U+ e, f5 z$ L5 m我怎么能得到这个?请帮我。
9 C# z/ x0 E1 f9 E               
% U# E+ O9 i# R2 U% D解决方案:
/ f4 q! w7 x2 V8 Q* P                ' w# K+ U2 `# z* N* L6 e+ V

. J- Z) V/ Q3 o: ^( p, I2 M) z( [6 j& L8 W
                请尝试以下查询,它一定会满足您的目标
, K% m% `5 x$ |+ U) k( f1 {SET ROWCOUNT 1
0 \) X: {: I, K: wDELETE test4 M2 @* R' ?+ c
FROM test a, S+ s$ H5 h: ]
WHERE (SELECT COUNT(*) FROM test b WHERE b.name = a.name) > 1' C' q# ^% ~' \
WHILE @@rowcount > 04 I- m6 M1 q- N" M9 ~
  DELETE test
; [' R4 d+ G$ j6 p  FROM test a4 R2 `" H$ e9 v, y% L( ]
  WHERE (SELECT COUNT(*) FROM test b WHERE b.name = a.name) > 1
3 ?9 C" R1 z6 e8 y/ n9 aSET ROWCOUNT 0
" `1 ^. P! z' U3 \其中, 测试 是你的表名
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则