欢迎光临
我们一直在努力

清除冗余记录的SQL语句-数据库专栏,SQL Server

建站超值云服务器,限时71元/月

问题:设表t中有五个字段a,b,c,d,id,其中id字段是为自动增量整型字段(唯一值)。业务数据生成时有重复插入现象,现需对a、b、c、d四字段完全一样的脏数据进行清理,要求设计一sql语句,对四个字段完全一样的记录,仅保留id最小的一条,其余作删除处理。

delete from t where [id] in
(
 select [id] from t where a in
  (select a  from t group by a,b,c,d having count(*)>1)
 and [id]<>
  (select min(id) as minid  from t group by a,b,c,d having count(*)>1)
)

更正:
delete from t
where t.id not in (select min(id) from t group by t.a,t.b,t.c,t.d)

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 清除冗余记录的SQL语句-数据库专栏,SQL Server
分享到: 更多 (0)

相关推荐

  • 暂无文章