标题的概念很抽象,很难进行理解,
如下举个列子
表格数据
type | tag | title | value |
---|---|---|---|
1 | tag1 | title1 | 123 |
1 | tag2 | title2 | 123 |
2 | tag3 | title3 | 123 |
2 | tag4 | title4 | 123 |
2 | tag5 | title5 | 123 |
想要的到的数据
type | tag | title | value |
---|---|---|---|
1 | tag1,tag2 | title | 123 |
2 | tag3,tag4,tag5 | title2 | 123 |
我想先将type进行分组,tag 合并起来并用逗号分隔,以及显示其他没有分组的字段。
select t.type,
Listagg(t.tag,',') tag,
max(t.value)
from 表 t group by t.type
listagg (字段名, 分割符) WITHIN GROUP (ORDER BY 排序字段名,对结果进行先排序,后合并为字符串)
SELECT
T .DEPTNO,
listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) names FROM
SCOTT.EMP T WHERE
T .DEPTNO = '20' GROUP BY
T .DEPTNO