分组合并汇总统计 |【Oracle】listagg within group,【MySQL】group_concat
按照某字段进行分组,并把其中一列的值合并显示在一个字段中。
一、Oracle表述 | Listagg Within Group
1、建表 \ 插入数据
create table DEMO ( id NUMBER, name VARCHAR2(20), nums NUMBER ); insert into demo values(1, '苹果', 1000); insert into demo values(1, '鸭梨', 2000); insert into demo values(1, '香蕉', 4000); insert into demo values(2, '橘子', 5000); insert into demo values(3, '西瓜', 3000); insert into demo values(4, '葡萄', 3500); insert into demo values(5, '芒果', 4200); insert into demo values(5, '哈密', 5500);

2 查询sql
SELECT ID, listagg(NAME, ',') within group(ORDER BY ID) AS NAMES FROM DEMO T GROUP BY ID;
将NAME之间以 逗号 连接 , 并且按照ID分类

2、MySQL表述 | Group_Concat
以上是Oracle语法,MySQL语法如下,效果跟上方Oracle效果一样。
---MySQL效果(默认分隔符为",") SELECT ineid, group_concat(VCNENAME) FROM tneinfo T GROUP BY ineid; ---MySQL效果,可以自定义分隔符 SELECT ineid, group_concat(VCNENAME,'|') FROM tneinfo T GROUP BY ineid;

浙公网安备 33010602011771号