160519、Oracle中将查询出的多条记录的某个字段拼接成一个字符串的方法
2016-05-20 15:40
651 查看
with temp as(
select 'China' nation ,'Guangzhou' city from dual union all
select 'China' nation ,'Shanghai' city from dual union all
select 'China' nation ,'Beijing' city from dual union all
select 'USA' nation ,'New York' city from dual union all
select 'USA' nation ,'Bostom' city from dual union all
select 'Japan' nation ,'Tokyo' city from dual
)
select nation,listagg(city,',') within GROUP (order by city)
from temp
group by nation
这是最基础的用法:
LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)
用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来。
实战sql:
select listagg(t.SPURIOUS_DESC, ';') within GROUP(order by t.spurious_desc) SPURIOUS_DESC
from zc_tr_appraise t
where t.banknote_id = '1';
select 'China' nation ,'Guangzhou' city from dual union all
select 'China' nation ,'Shanghai' city from dual union all
select 'China' nation ,'Beijing' city from dual union all
select 'USA' nation ,'New York' city from dual union all
select 'USA' nation ,'Bostom' city from dual union all
select 'Japan' nation ,'Tokyo' city from dual
)
select nation,listagg(city,',') within GROUP (order by city)
from temp
group by nation
这是最基础的用法:
LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)
用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来。
实战sql:
select listagg(t.SPURIOUS_DESC, ';') within GROUP(order by t.spurious_desc) SPURIOUS_DESC
from zc_tr_appraise t
where t.banknote_id = '1';
相关文章推荐
- 在MAC上安装Oracle JDK
- Oracle sql & 用法
- Oracle procedure 基本语法
- oracle中to_date() 与 to_char() 日期和字符串转换
- Java SpringMvc+hibernate架构中,调用Oracle中的sp,传递数组参数
- oracle sql学习四
- Oracle外键级联删除和级联更新
- 为什么iBatis+Oracle的executeBatch总是返回0?
- oracle一个创建用户、创建表空间、授权、建表的完整过程
- 连接oracle无监听器
- 基于Oracle的私有云架构探析(连载一)
- mybaits oracle 批量插入
- /dev/shm应该设置多大Oracle 实例启动时才能不报ORA-00845
- 不安装oracle客户端配置使用plsql
- Web项目从Oracle转为Mysql,fluentnhibernate-1.0和NHibernate2.1.0升级到NHibernate3.3的注意事项
- Oracle中ROWNUM的使用技巧。
- mysql实现oracle 分析函数row_number()over()
- Oracle存储过程拼接in语句 & 自定义split函数
- 甲骨文:Android 是破坏开源的罪犯!
- 甲骨文:Android 是破坏开源的罪犯!