首页 > 数据库 > mysql教程 > 分组合并多列

分组合并多列

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-07 14:56:31
原创
1377 人浏览过

Oracle9i及以前的版本中,没有可直接支持的分组后,用某个特殊字符进行分隔列 像10g有wm_concat,11g可以用listagg(字段,分隔字符) within group(order by 字段) Oracle SELECT 分组列,ltrim(MAX(sys_connect_by_path(字符串列,',')),',')FROM (SELECT 分组列

Oracle9i及以前的版本中,没有可直接支持的分组后,用某个特殊字符进行分隔列
像10g有wm_concat,11g可以用listagg(字段,分隔字符) within group(order by 字段)
Oracle
SELECT 分组列,ltrim(MAX(sys_connect_by_path(字符串列,',')),',')
FROM (
SELECT 分组列,字符串列,rank()over(ORDER BY 分组列) + row_number()over(order by 分组列) RN,row_number()over(partition by 分组列 order by 分组列) RM
FROM 表)
start with RM=1
connect by prior RN=RN-1
group by
分组列
;

--在FROM 表这个地方你可以过滤掉这些空值
--或在ltrim(MAX(sys_connect_by_path(字符串列,',')),',')这个地方

--再加个这个就可以rtrim(ltrim(MAX(sys_connect_by_path(字符串列,',')),','),',')
登录后复制
相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板