回答

收藏

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

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

我只需要从表中删除重复的行,就像我在表中有3个重复的行一样,我的查询将从3个重复的行中删除2个行。
: X4 l0 g$ U" `0 _7 G我怎么能得到这个?请帮我。
- K" Y4 r* B7 n. `) L9 M1 o, i  k               
$ Z$ u& d/ d7 U9 n解决方案:, B3 v6 N6 O. t0 N& w7 p
               
* J1 T: V  P8 S8 B7 Q$ H; z8 j) @# N( r( v' @" {$ C8 \/ O; G
- J  s4 f# K. B8 x5 D- w" a
                请尝试以下查询,它一定会满足您的目标0 v+ _" |+ ~. N. l/ u
SET ROWCOUNT 10 d% Z3 U0 t( q$ }' r  b' Y
DELETE test
  y( y' t, C# B. X6 L# a8 g0 VFROM test a
5 P& }( O/ \, Z2 H' I$ rWHERE (SELECT COUNT(*) FROM test b WHERE b.name = a.name) > 15 {/ D8 `9 _  _
WHILE @@rowcount > 0
! `$ y1 s* ^* M5 V8 q; L8 k( j/ F  DELETE test
* s" C) |  d4 x  e6 K& r8 c5 s# @  FROM test a
* b0 s2 T5 G8 }  WHERE (SELECT COUNT(*) FROM test b WHERE b.name = a.name) > 1  Z2 B: K# |0 p
SET ROWCOUNT 0& y- W0 L; o  b; c0 H/ W
其中, 测试 是你的表名
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则