目录
简介:
效果展示:
举例:
测试表及数据:
简介:
Oracle数据库的LISTAGG函数用于将多行数据合并为单个字符串,常见于分组操作,实现数据的垂直到水平的转换。
解决问题如:一个人有多个手机号,如何结构清晰的展示
效果展示:
 
 
举例:
一个人有多个手机号,如何结构清晰的展示
1、查询数据库数据存储方式

2、查询张三名下手机号

3、 查询李四名下手机号

测试表及数据:
CREATE TABLE TEST_TEMP (	
	"NAME" VARCHAR2(50), 
	"PHONE" VARCHAR2(20)
)
   
INSERT INTO TEST_TEMP (NAME,PHONE) VALUES
 ('张三','13888888881'),
 ('张三','13888888882'),
 ('张三','13888888883'),
 ('李四','13888888884'),
 ('李四','13888888885');-- 查询所有数据
select * from TEST_TEMP ;
-- 查询张三名下手机号
select t.NAME ,LISTAGG(t.PHONE ,',') WITHIN GROUP (ORDER BY t.NAME)  
from TEST_TEMP t WHERE t.NAME ='张三' GROUP BY t.NAME ;
-- 查询李四名下手机号
select t.NAME ,LISTAGG(t.PHONE ,',') WITHIN GROUP (ORDER BY t.NAME)  
from TEST_TEMP t WHERE t.NAME ='李四' GROUP BY t.NAME ;


















