Oracle行转列函数与查询、过滤重复记录的函数

发布时间:2019-10-17编辑:脚本学堂
本文介绍下,在oracle数据库中,进行行列转换的函数、查询重复记录的函数、过滤重复记录的函数,有需要的朋友参考下吧。

1,行转列函数:
 

复制代码 代码示例:
select wm_concat(username) from users 

2,查询重复记录函数
 

复制代码 代码示例:
select t.* from(select t.*,rownum rn from USERS  t where t.username in (select username from USERS group by username having count(*) > 1))  t 

3,过滤表中重复记录函数
有一张User表,姓名字段重复
A:
 

复制代码 代码示例:
select t.* from(select t.*,rownum rn from USERS  t where t.username not in (select username from USERS group by username having count(*) > 1))t 
union all 
select t.* from(select t.*,rownum rn from USERS  t where t.username in (select username from USERS group by username having count(*) > 1))  t where t.rn=1 

B:
 

复制代码 代码示例:
select * from (select t. *,row_number() over(partition by username order by username) rn from USERS t) tt where tt.rn=1; 

其它用法,可以研究下oracle中的exists 和not exists语句