Sql Server 删除重复记录,只保留一条
2015-12-25 23:01
387 查看
delete users where ids not in (select min(ids) from users group by userid,username having(count(*)>1 or count(*) =1))
解释:首先查询出来count(*)>1的数据,也就是重复数据,跟单条数据的IDS,删除的时候就不包含他们了,所以是not in, 因为保留一条重复数据,所以我取得了重复数据的min (ids),用max也是可以的,然后删除的时候就不包含重复数据的最小或最大的那一条数据,从而实现了保留一条数据,并且不重复的数据也不删除
相关文章推荐
- Oracle 11g RAC 二节点root.sh执行报错故障一例
- mysql查询昨天 一周前 一月前 一年前的数据
- HVR实战----Oracle数据库之间的简单同步
- Oracle 11g RAC自动打GI PSU补丁(11.2.0.4.8)
- Codis 是一个分布式 Redis 解决方案 推荐
- JPA总结
- Oracle 删除重复数据只留一条
- sqlite的使用
- Redis事务处理
- mysql压缩包安装
- MySql启动教程Can't connect to MySQL server on 'localhost' (10061)
- js读取数据库的数据
- excel数据导入sql server ,"文本被截断"错误
- oracle 未明确定义错误
- oracle中rownum和rowid的区别
- SQL Server笔试准备 Day1
- 一点实例明白mysql数据库存储过程
- MySQL存储过程
- 一个IT人士的个人经历,给迷失方向的朋友
- 数据文件误删导致数据库用户不能登陆