玖叶教程网

前端编程开发入门

SQL语法:按照某一字段分组,并合并分组结果。

按照某字段进行分组,并把其中一列的值合并显示在一个字段中。这里用一个实例说明,主要语法为: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

将NAME之间以 逗号 连接 , 并且按照ID分类。

SELECT ID, listagg(NAME, ',') within group(ORDER BY ID) AS NAMES
 FROM DEMO T 
 GROUP BY ID;

以上是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;

是不是很简单,希望对你有用,点击收藏关注,有数据库相关请问题留言,我会尽量回复大家。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言