博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL循环遍历,删除表里某一列是重复的数据,只保留一条。
阅读量:5268 次
发布时间:2019-06-14

本文共 632 字,大约阅读时间需要 2 分钟。

DECLARE @tempId NVARCHAR(Max),        @tempIDD uniqueidentifier         WHILE EXISTS ( SELECT UserId               FROM  Users Group By UserId having (count(*))>1 )    BEGIN          SELECT TOP 1 @tempId = UserId                       FROM   (SELECT UserId               FROM  Users Group By UserId having (count(*))>1 ) #cc        Select Top 1 @tempIDD=Id FROM Users where UserId=@tempId        DELETE  FROM Users  WHERE   [id] = @tempIDD             END

 上面这种方式,效率比较低。改进后的方式如下

Delete From Users WHERE ID in (SELECT min(ID) FROM Users Group By UserId having (count(*))>1 )

 

转载于:https://www.cnblogs.com/lishidefengchen/p/5436269.html

你可能感兴趣的文章
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
整理推荐的CSS属性书写顺序
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
源代码的下载和编译读后感
查看>>
Kafka学习笔记
查看>>
Octotree Chrome安装与使用方法
查看>>
Windows 环境下基于 Redis 的 Celery 任务调度模块的实现
查看>>
趣谈Java变量的可见性问题
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
验证组件FluentValidation的使用示例
查看>>
0320-学习进度条
查看>>
解决windows系统的oracle数据库不能启动ora-00119和ora-00130的问题
查看>>
ip相关问题解答
查看>>