listagg()行转列函数[通俗易懂]

listagg()行转列函数[通俗易懂]–基础数据DROPTABLE"ZYH_TEST";CREATETABLE"ZYH_TEST"("ID"NUMBER(19)NOTNULL,"NAME"VARCHAR2(255BYTE),"CREATETIME"DATE,"SCORE"NUMBER,"CLASSID"VARCHAR2(255BYTE)

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

--基础数据
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.net/196438.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 開發中的DEV,QAS,UAT,PRD是什麼意思

    開發中的DEV,QAS,UAT,PRD是什麼意思IDES:InternetDemonstrationandEvaluationSystem交互式演示与评估系统DEV:DevelopmentSystem,开发系统QAS:QualityAssuranceSystem,质量保证系统UAT:UserAcceptanceTest用户验收测试PRD:ProductionSystem,生产系统…

    2022年6月28日
  • 更改nginx默认端口_更改端口号

    更改nginx默认端口_更改端口号一、查看当前Nginx配置信息打开nginx根目录下conf文件夹,点击编辑nginx.conf文件。Tips:Windows系统用记事本打开会使utf-8文件头部加上BOM头,这会导致配置文件不能正常读取,Nginx启动失败。因此推荐使用SublimeText3之类的编辑器打开。 server{listen80;#默认端口号…

    2022年9月7日
  • latex特殊符号用法

    latex特殊符号用法标号添加实心原点\begin{itemize}\item[$\bullet$]\end{itemize}添加数字标号\begin{itemize}\item[1)]\end{itemize}特殊字符加减±\pm希腊字符上下标常用数学符号定界符二元关系符||||符号|latex||符号|latex||符号|latex||符号|latex|符号latex<<>&g

    2022年11月2日
  • StartActivityForResult详解

    StartActivityForResult详解转载自:https://www.cnblogs.com/zgqys1980/p/5286208.html 一、如果想在Activity中得到新打开Activity关闭后返回的数据,需要使用系统提供的startActivityForResult(Intentintent,intrequestCode)方法打开新的Activity,新的Activity关闭后会向前面的Activity…

    2022年7月11日
  • navicat 15 for mysql激活密钥 3月最新注册码

    navicat 15 for mysql激活密钥 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
  • Navicat Premium 12激活成功教程激活

    Navicat Premium 12激活成功教程激活下载NavicatPremium12并安装;蓝奏云下载:NavicatPremium12注册机重要提示:该注册机来源于DeltaFoX。一般来说,由于注册机会修改.exe文件或.dll文件,加壳并且没有数字签名,所以杀毒软件会报毒。如需使用本注册机或者下载后找不到文件,需要关闭杀毒软件或将本注册机添加至杀毒软件白名单。自行决定是否使用本注册机。以管理员身份运行此注册机:…

    2022年10月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号