zoukankan      html  css  js  c++  java
  • Oracle的 listagg() WITHIN GROUP ()函数使用

    1.使用条件查询  查询部门为20的员工列表

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

        效果:


    2.使用  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

        效果:


    3. 使用 listagg() within GROUP () over  将多行记录在一行显示

        SELECT
            T .DEPTNO,
            listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME)  over(PARTITION BY T .DEPTNO)
        FROM
            SCOTT.EMP T
        WHERE
            T .DEPTNO = '20'

        效果:


            注:使用的表数据是oracle 用户scott下的emp(员工)表

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    当你的表X中有A,B两列,数据如下

    A  B

    a  1

    a  2

    a  3

    b  1

    b  2

    b  3

    想让数据以 a|1|2|3 , b|1|2|3 格式显示可使用listagg()

    1、使用listagg() + group by

    select A,B,listagg(B,'|') within GROUP (order by A)  C from X group by A;

     over(partition by class order by sroce) 按照sroce排序进行累计,order by是个默认的开窗函数,按照class分区。

    2、使用listagg() + over(partition by ?)

    select A,B listagg(B,'|') within Group(order by A) over(partition by A)  C from X;


    DBMS_LOB.SUBSTR(col1)不传其它参数就是全部读取

    DBMS_LOB.SUBSTR(col1,10,1)表示从第1个字节开始取出10个字节

    DBMS_LOB.SUBSTR(CLOB_VAR,32767)表示截取CLOB变量保存的全部数据

    DBMS_LOB.FILECLOSE(IMG_BFILE)关闭文件

  • 相关阅读:
    微信JS SDK Demo
    微信jssdk常见错误及解决方法
    多机定时任务处理
    python zip压缩文件 并移动到指定目录
    Nginx + Uswgi + Django的部署
    pycharm 安装第三方库报错:AttributeError: 'module' object has no attribute 'main'
    zabbix监控
    转:老张喝茶 教你同步异步 阻塞与非阻塞
    odoo开发笔记 -- 多对多字段追加数据
    xml文件对比工具推荐:Altova XMLSpy 2013
  • 原文地址:https://www.cnblogs.com/sjxbg/p/9859100.html
Copyright © 2011-2022 走看看