幸福的坚果

## 1、在面试的时候碰到一个 问题，就是让写一张表中有id和name 两个字段，查询出name重复的所有数据，现在列下：

select * from xi a where (a.username) in  (select username from xi group by username  having count(*) > 1)

2、查询出所有数据进行分组之后，和重复数据的重复次数的查询数据，先列下：

3、一下为 查看别人的 结果，现列下：查询及删除重复记录的方法大全

1、查找表中多余的重复记录，重复记录是根据单个字段（peopleId）来判断select * from people
where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)

2、删除表中多余的重复记录，重复记录是根据单个字段（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(peopleId )>1)

3、查找表中多余的重复记录（多个字段）
select * from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1)

4、删除表中多余的重复记录（多个字段），只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5、查找表中多余的重复记录（多个字段），不包含rowid最小的记录
select * from vitae a
where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

(二)

Select Name,Count(*) From A Group By Name Having Count(*) > 1如果还查性别也相同大则如下:
Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1

(三)

1、对于第一种重复，比较容易解决，使用select distinct * from tableName　　就可以得到无重复记录的结果集。　　如果该表需要删除重复的记录（重复记录保留1条），可以按以下方法删除select distinct * into #Tmp from tableNamedrop table tableNameselect * into tableName from #Tmpdrop table #Tmp　　发生这种重复的原因是表设计不周产生的，增加唯一索引列即可解决。

2、这类重复问题通常要求保留重复记录中的第一条记录，操作方法如下　　假设有重复的字段为Name,Address，要求得到这两个字段唯一的结果集select identity(int,1,1) as autoID, * into #Tmp from tableNameselect min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoIDselect * from #Tmp where autoID in(select autoID from #tmp2)　　最后一个select即得到了Name，Address不重复的结果集（但多了一个autoID字段，实际写时可以写在select子句中省去此列）

(四)

### 幸福的坚果

oracle中rownum和rowid的区别

rownum和rowid都是伪列，但是两者的根本是不同的，rownum是根据sql查询出的结果给每行分配一个逻辑编号，所以你的sql不同也就会导致最终rownum不同，但是rowid是物理结构上的，在每条记录ins...

2015/08/11
0
0
oracle中rownum和rowid的区别

rownum和rowid都是伪列，但是两者的根本是不同的，rownum是根据sql查询出的结果给每行分配一个逻辑编号，所以你的sql不同也就会导致最终rownum不同，但是rowid是物理结构上的，在每条记录ins...

2015/03/24
0
1

2011/06/09
179
1

2013/08/24
364
0

Rhymo-Wu
2018/07/12
0
0

Feign输出Info级别日志

xiaomin0322
13分钟前
2
0

1、start一个spring boot项目 第一课我们也不能免俗，要从starter开始，spring boot的起始项目脚手架可以从spring boot官方starter生成地址开始：https://start.spring.io/ 这张图列出了一个...

wphmoon
13分钟前
1
0
Linux虚拟化技术—CentOS7.4下KVM虚拟化一 安装配置及基本操作

Linux虚拟化技术—CentOS7.4下KVM虚拟化一 安装配置及基本操作 0行云流水00人评论61017人阅读2018-04-11 19:57:20 KVM的安装配置与基本操作 目录 第一部分 实验环境 第二部分 安装图形界面 ...

linjin200
16分钟前
1
0
php获取网站favicon.ico图标 api源码

通常情况下，做网站的都会给自己的网站添加一个Icon，浏览器上一长排的标签页，用Icon来区分就显得更加醒目。现在想找一个没有Icon的网站并不好找，可见没有Icon的网站是多么的业余啊。"什...

xiaogg
19分钟前
1
0

23分钟前
1
0