当前位置: 代码迷 >> Oracle开发 >> 查重:一个字段不同,多个字段相同,且以不同字段为条件查询解决方案
  详细解决方案

查重:一个字段不同,多个字段相同,且以不同字段为条件查询解决方案

热度:104   发布时间:2016-04-24 06:33:24.0
查重:一个字段不同,多个字段相同,且以不同字段为条件查询
id            班级              姓名          性别             年龄         国籍
0123       01                 张三            男                 12           中
099         01                 张三             女                 12           外籍
899         02                 张三             男                  12          外籍
7867        03                张三             女                   12          外籍

查询相同名字,相同年龄,相同国籍但不在同一个班级的学生信息 , 查询条件有  班级 in (‘’,‘’)
------解决思路----------------------
用自连接,自己连接自己。
------解决思路----------------------
分析函数的写法
SELECT * FROM(
select T.*,COUNT(DISTINCT 班级)OVER(PARTITION BY 姓名,年龄,国籍) S from TB T
WHERE 班级 in('01','02')
)WHERE S>1
  相关解决方案