listagg()行转列函数[通俗易懂]
函数 通俗易懂 转列 Listagg
2023-06-13 09:13:43 时间
大家好,又见面了,我是你们的朋友全栈君。
--基础数据
DROP TABLE "ZYH_TEST";
CREATE TABLE "ZYH_TEST" (
"ID" NUMBER(19) NOT NULL ,
"NAME" VARCHAR2(255 BYTE) ,
"CREATETIME" DATE ,
"SCORE" NUMBER ,
"CLASSID" VARCHAR2(255 BYTE)
)
INSERT INTO "ZYH_TEST" VALUES ('1', 'allen', TO_DATE('2019-01-14 17:41:09', 'SYYYY-MM-DD HH24:MI:SS'), '98.5', '1');
INSERT INTO "ZYH_TEST" VALUES ('2', 'lee', TO_DATE('2019-01-14 17:41:37', 'SYYYY-MM-DD HH24:MI:SS'), '88.5', '1');
INSERT INTO "ZYH_TEST" VALUES ('3', 'me', TO_DATE('2019-01-14 17:41:52', 'SYYYY-MM-DD HH24:MI:SS'), '73', '1');
INSERT INTO "ZYH_TEST" VALUES ('4', 'let', TO_DATE('2019-01-14 17:42:03', 'SYYYY-MM-DD HH24:MI:SS'), '88', '1');
INSERT INTO "ZYH_TEST" VALUES ('5', 'met', TO_DATE('2019-01-14 17:42:16', 'SYYYY-MM-DD HH24:MI:SS'), '99', '1');
INSERT INTO "ZYH_TEST" VALUES ('6', 'ali', TO_DATE('2019-01-14 17:42:30', 'SYYYY-MM-DD HH24:MI:SS'), '66', '1');
INSERT INTO "ZYH_TEST" VALUES ('7', 'avicii', TO_DATE('2019-01-15 12:41:09', 'SYYYY-MM-DD HH24:MI:SS'), '73', '2');
INSERT INTO "ZYH_TEST" VALUES ('8', 'martin', TO_DATE('2019-01-15 12:41:37', 'SYYYY-MM-DD HH24:MI:SS'), '76', '2');
INSERT INTO "ZYH_TEST" VALUES ('9', 'ajx', TO_DATE('2019-01-15 12:41:52', 'SYYYY-MM-DD HH24:MI:SS'), '91', '2');
INSERT INTO "ZYH_TEST" VALUES ('10', 'atlan', TO_DATE('2019-01-15 12:42:03', 'SYYYY-MM-DD HH24:MI:SS'), '60', '3');
INSERT INTO "ZYH_TEST" VALUES ('11', 'bill', TO_DATE('2019-01-15 12:42:16', 'SYYYY-MM-DD HH24:MI:SS'), '78', '3');
INSERT INTO "ZYH_TEST" VALUES ('12', 'bite', TO_DATE('2019-01-15 12:42:30', 'SYYYY-MM-DD HH24:MI:SS'), '89', '3');
示例
--listagg()函数:是行转列函数,用于实现对列值的拼接(多行中的指定列字段,拼接成新的一列)。
--格式
listagg(列字段,'分隔符')within group(order by 排序字段)
--分数大于70的学生
select listagg(name,',')within group(order by score) 合并后的姓名 from zyh_test WHERE score > 70;
--每个班级分数大于70的学生
select classid 班级,listagg(name,',')within group(order by score) 合并后的姓名 from zyh_test WHERE score > 70 GROUP BY classid;
--列转行函数listagg()结合分析函数over()
select name 姓名,score 分数,classid 班级,listagg(name,',')within group(order by score) over (partition by classid) 合并后的姓名 from zyh_test ORDER BY classid,score;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196438.html原文链接:https://javaforall.cn
相关文章
- stat函数的使用说明[通俗易懂]
- MySQL模糊查询用法大全(正则、通配符、内置函数等)[通俗易懂]
- STM32F0x HAL库学习笔记(3)使用HAL库延时函数(HAL_Delay())[通俗易懂]
- react中类组件传值,函数组件传值:父子组件传值、非父子组件传值[通俗易懂]
- python-sort函数[通俗易懂]
- python:set() 函数[通俗易懂]
- Oracle 函数编写[通俗易懂]
- linux 开启allow_url_fopen,如何开启allow_url_fopen函数[通俗易懂]
- softmax、softmax损失函数、cross-entropy损失函数[通俗易懂]
- 笛卡尔心形函数表达式_笛卡尔心形曲线[通俗易懂]
- VS2015 error LNK2019 无法解析的外部符号 _WinMain@16,该符号在函数 “int __cdecl invoke_main(void)”[通俗易懂]
- 解构 Solidity 合约 #3:函数包装器
- 【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )
- 【Kotlin】常用的 Kotlin 类 ① ( 嵌套类 | 数据类 | 数据类 copy 函数 | 数据类解构声明 operator fun component1 | 数据类运算符重载 )
- 函数深入分析Linux atoi函数(linuxatoi)
- Linux下Awk函数:实现复杂任务的好帮手(linux awk 函数)
- mysql查询数据库中的存储过程与函数的语句
- 解析phpcurl_setopt函数的相关应用及介绍
- Javascript中的回调函数和匿名函数的回调示例介绍
- php获取当月最后一天函数分享