listagg within group函数的作用_oracletochar函数

listagg within group函数的作用_oracletochar函数前言:最近在写一些比较复杂的SQL,是一些统计分析类的,动不动就三四百行,也是首次写那么长的SQL,有用到一些奇形怪状的SQL函数,在这里结合网上的例子做一些笔记,以后用到不记得用法可以翻出来看!1.基础用法:LISTAGG(XXX,XXX)WITHINGROUP(ORDERBYXXX),就像聚合函数一样,通过Groupby语句,把每个Group的一个字段,拼接起来…

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

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

      前言:最近在写一些比较复杂的SQL,是一些统计分析类的,动不动就三四百行,也是首次写那么长的SQL,有用到一些奇形怪状的SQL函数,在这里结合网上的例子做一些笔记,以后用到不记得用法可以翻出来看!

1.基础用法:LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX),就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来

LISTAGG()其实可以把它当作SUM()函数来使用或者理解

(1)示例代码:  

WITH TEMP AS(  
SELECT 'CHINA' NATION ,'GUANGZHOU' CITY FROM DUAL UNION ALL  
SELECT 'CHINA' NATION ,'SHANGHAI' CITY FROM DUAL UNION ALL  
SELECT 'CHINA' NATION ,'BEIJING' CITY FROM DUAL UNION ALL  
SELECT 'USA' NATION ,'NEW YORK' CITY FROM DUAL UNION ALL  
SELECT 'USA' NATION ,'BOSTOM' CITY FROM DUAL UNION ALL  
SELECT 'JAPAN' NATION ,'TOKYO' CITY FROM DUAL   
)  
SELECT 
NATION,LISTAGG(CITY,',') WITHIN GROUP (ORDER BY CITY)  AS CITIES
FROM TEMP  
GROUP BY NATION

运行结果:

listagg within group函数的作用_oracletochar函数

(2)示例代码:

查询部门为20的员工列表:SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20';

运行结果: 

listagg within group函数的作用_oracletochar函数

使用  listagg() WITHIN GROUP ()  将多行合并成一行:

SELECT
T .DEPTNO,
LISTAGG (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) NAMES
FROM SCOTT.EMP T
WHERE
T .DEPTNO = '20' GROUP BY T .DEPTNO

运行结果:

listagg within group函数的作用_oracletochar函数

2.高级用法:over(partition by XXX)。在不使用Group by语句时候,也可以使用LISTAGG函数:

WITH TEMP AS(  
SELECT 500 POPULATION, 'CHINA' NATION ,'GUANGZHOU' CITY FROM DUAL UNION ALL  
SELECT 1500 POPULATION, 'CHINA' NATION ,'SHANGHAI' CITY FROM DUAL UNION ALL  
SELECT 500 POPULATION, 'CHINA' NATION ,'BEIJING' CITY FROM DUAL UNION ALL  
SELECT 1000 POPULATION, 'USA' NATION ,'NEW YORK' CITY FROM DUAL UNION ALL  
SELECT 500 POPULATION, 'USA' NATION ,'BOSTOM' CITY FROM DUAL UNION ALL  
SELECT 500 POPULATION, 'JAPAN' NATION ,'TOKYO' CITY FROM DUAL   
)  
SELECT POPULATION,  
NATION,  
CITY,  
LISTAGG(CITY,',') WITHIN GROUP (ORDER BY CITY) OVER (PARTITION BY NATION) RANK  
FROM TEMP

运行结果:

listagg within group函数的作用_oracletochar函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196289.html原文链接:https://javaforall.net

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


相关推荐

  • QCustomPlot系列(5)-实时动态曲线[通俗易懂]

    QCustomPlot系列(5)-实时动态曲线[通俗易懂]先来个动图看看效果:支持鼠标平移、滚轮缩放、框选放大、取消框选、一键全显、单击显示xy坐标值。。等平移功能是QCustomPlot自带的功能,参见我的该系列前面的博文。框选放大、全显等功能在另一篇博文中也讲到了。这里只讲2个知识点:1、显示鼠标指向的点坐标,2、实时滚动1、箭头指向要显示的坐标点,代码步骤:(1)添加新类,继承QCustomPlot添加private成员变…

    2022年10月16日
    1
  • angular入门教程_初学者织围巾简单教程慢动作

    angular入门教程_初学者织围巾简单教程慢动作课程介绍本课程是一个系列基础教程,目标是带领读者上手实战,课程以新版本Angular的3个核心概念作为主线:组件、路由、模块,加上业务开发过程中必须用到的特性:工具、指令、表单、RxJS、i18n、测试,一共分为9部分,34篇文章。除了组件、路由、模块这3个核心小节具有很强的关联性之外,其它内容都是完全独立的,您可以在用到的时候再翻阅。认真读完这个系列文章之后,您会深入理解…

    2022年10月21日
    0
  • Python基础知识总结(期末复习精简版)「建议收藏」

    Python基础知识总结(期末复习精简版)「建议收藏」–缩进–注释–命名–变量–保留字–数据类型–字符串–整数–浮点数–列表–字典–赋值语句–分支语句–函数–input()–print()–eval()–print()及其格式化

    2022年6月6日
    37
  • Generic Host Process for Win32 Services Error

    Generic Host Process for Win32 Services Error原文:http://techblissonline.com/generic-host-process-for-win32-services-error/ AreyouusingWindowsXPSP2andencounteringGenericHostProcessforWin32ServicesError?Don’tworry.Wedohavese

    2022年10月12日
    0
  • 给 Pycharm 安装 pytorch

    给 Pycharm 安装 pytorch问题在之前的文章Win10通过Anaconda下载安装PyTorch中,用Anacondaprompt在base环境中安装了PyTorch,并且能在Jupyternotebook中调用。但遇到了两个问题:使用Pycharm创建新project时,envs目录下找不到pytorch的选项;在Pycharm中运行>>>importtorch报错“Couldnotfindcondaenvironment:torch”

    2022年8月27日
    3
  • Clover 引导器.配置助手[通俗易懂]

    Clover引导器.配置助手.Yosemite版块.更新贴Beta2.0为了让各位下载更方便本帖不设置回帖可见希望路过的朋友帮顶有需要的朋友顶个帖让更多后来者们看见提取码[编译PKG]py81[编译EFI+boot1h2]8ctu[编译ISO]zq9f首先向Clover开发人员致敬:Slice,withhelpofKabyl,

    2022年4月10日
    33

发表回复

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

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