sql 查出一张表中重复的所有记录数据
2016-05-26 18:00
267 查看
1.一张表中有id和name两个字段,查询出name重复的所有数据 。
select * from cui a where a.username in (select username from cui group by username having count(*)>1);
2.查询出所有数据进行分组之后,和重复数据的重复次数的查询数据。
select count(username) as '重复次数' ,username from cui group by username having count(*)>1 order by username desc;
3.删除表中多余的重复记录,重复记录是根据单个字段peopleID来判断 ,只留有rowID最小的记录。
delete from people where peopleID in (select peopleID from people group by peopleID having count(peopleID)>1 and rowID not in(select min(rowID) from people group by peopleID having count(people)>1));
相关文章推荐
- [转]PLSQL Developer备份恢复oracle数据
- Redis配置详解
- MySql高并发优化
- mysql1054: Unknown column ... in 'on clause'
- redis 在 cakePHP3 怎么配置,怎么用
- JDBC配置文件和工具类
- MySQL每天自动增加分区
- 慢查询日志及分析工具
- sql和mysql内连接更新
- p_re 实验数据库ViPER和ETHZ的下载地址和实验评价标准
- mysql内存使用情况
- Mac下 Redis的安装
- 保留最后的一条数据为Y
- sql server 锁
- mysql 批量创建表
- 修改过mysql数据库字段内容默认值为当前时间
- 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名
- mysql key duplicate
- TSQL--临时表和表变量
- 查看oracle 用户执行的sql语句历史记录