回答

收藏

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

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

我只需要从表中删除重复的行,就像我在表中有3个重复的行一样,我的查询将从3个重复的行中删除2个行。
2 f( u9 q; Q7 e% c  D/ L. B我怎么能得到这个?请帮我。& k1 ^) A; d- w) G* m" I3 `" ?
               
1 I% {, X- O) K: ~, Y. m! {* P解决方案:
% }7 m4 E. [% P               
; ^5 Z# ?7 i; C# I1 ]; u2 R1 j$ I& f  Y
; m$ n* d5 }* Y( K2 ~
                请尝试以下查询,它一定会满足您的目标
/ j+ a; A  }, C; R  h+ y" A3 {SET ROWCOUNT 1$ h; y, b2 j: d: M
DELETE test5 S9 b, L( ]1 D3 H2 e
FROM test a
  a1 x0 B2 g# q& T$ F0 g% mWHERE (SELECT COUNT(*) FROM test b WHERE b.name = a.name) > 16 \" `- }4 u$ O5 o5 l/ E3 B
WHILE @@rowcount > 0  j  k6 U  c- I1 G8 [. `* p
  DELETE test
) ~, }& s% L, y* v0 m/ r  FROM test a/ }# C, @5 D3 P' F5 r
  WHERE (SELECT COUNT(*) FROM test b WHERE b.name = a.name) > 1
: Z  a+ O& P& B) m' cSET ROWCOUNT 0
- k5 K3 I4 J* h1 P- Q2 t其中, 测试 是你的表名
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则