好久没搞数据库了,我有一张表,其中有三个字段如下:
用户 字段B 字段C
要统计字段B和字段C值都相同的不同用户(同个用户的话,允许字段B和字段C值相同),这个SQL语句怎么写啊,谢啦。
用户 字段B 字段C
要统计字段B和字段C值都相同的不同用户(同个用户的话,允许字段B和字段C值相同),这个SQL语句怎么写啊,谢啦。
解决方案 »
- Linux下ORACLE数据库开发基础问题,急!
- quesiton
- 在oracle 8i中 怎么根据已存在的数据库生成sql脚本语句 然后在另一台服务器的oracle 运行 就可以创建表了
- alter table WL_CJSXB rename column KY1 to XQBZOID 在9i中怎么报错了?
- 关于insert和子查询合用的问题,急~~~~!
- 大哥大姐帮个忙吧!!!
- 怎样判断一个变量的类型是数值还是字符?
- 如何在oracle下update時使用join
- 查询记录时怎么给记录加锁???????
- pro * c 有roll back吗?
- oracle database.zip不能解压
- 11G RAC 运行正常,但是voting disk少了一块,有遇到这种情况的吗?
用户 字段B 字段C
aa 1b 1c
aa 1b 1c
bb 2b 2c
cc 2b 2c
如aa用户有两行记录,字段B和字段C值都相同没问题,但bb和cc用户的字段B和字段C值都相同不行
我想要统计出来的结果就是bb和cc用户啊
select 'AA' as str1,'1B' as str2,'1C' as str3 from dual
union all
select 'AA' as str1,'1B' as str2,'1C' as str3 from dual
union all
select 'BB' as str1,'2B' as str2,'2C' as str3 from dual
union all
select 'CC' as str1,'2B' as str2,'2C' as str3 from dual
)
SELECT STR1,STR2,STR3 FROM (
SELECT COUNT(str1)OVER(PARTITION BY str1,str2,str3 ) AS RN,TEST.* FROM TEST) WHERE RN =1
SELECT distinct STR2,STR3,rn FROM (
SELECT COUNT(distinct str1)OVER(PARTITION BY str2,str3 ) AS RN,TEST.* FROM TEST) WHERE RN>1