.LISTAGG()函数作为普通函数使用时就是查询出来的结果列转为行
☆LISTAGG 函数既是分析函数,也是聚合函数
有两种用法:
1、分析函数,如: row_number()、rank()、dense_rank() 等,用法相似
listagg(合并字段, 连接符) within group(order by 合并的字段的排序) over(partition by 分组字段)
2、聚合函数,如:sum()、count()、avg()等,用法相似
listagg(合并字段, 连接符) within group(order by 合并字段排序) --后面跟 group by 语句
实战演练
创建表
CREATE TABLE employees ( employee_id INT, employee_name VARCHAR(50), department VARCHAR(50) );
INSERT INTO employees(employee_id, employee_name, department) select 1, 'John', 'HR' from dual union select 2, 'Alice', 'IT' from dual union select 3, 'Bob', 'IT' from dual union select 4, 'Mary', 'HR' from dual union select 5, 'Eva', 'Finance' from dual
- listagg()分析函数
SELECT DEPARTMENT as 部门,
listagg(EMPLOYEE_ID,'@') within group (order by EMPLOYEE_ID) over(partition by DEPARTMENT) as 序号
from employees;
- listagg()聚合函数
SELECT DEPARTMENT as 部门, listagg(EMPLOYEE_ID,'@') within group (order by EMPLOYEE_ID) as 序号 from employees group by DEPARTMENT
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2021-09-18 局域网 yum仓库