zoukankan      html  css  js  c++  java
  • listagg 使用说明

    create table a100(deptno varchar2(10),ename varchar2(100));
    
    SQL> set linesize 200
    SQL> set pagesize 200
    SQL> select * from a100;
    
    DEPTNO    ENAME
    ---------- ----------------------------------------------------------------------------------------------------
    10    SMITH
    10    JONES
    10    SCOTT
    20    ADAMS
    20    FORD
    20    JORDAN
    
    6 rows selected.
    
    
    
    SQL> SELECT
      2   T .DEPTNO,
      3   listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) names
      4  FROM
      5  a100 t
      6  group by deptno;
    
    DEPTNO
    ----------
    NAMES
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    10
    JONES,SCOTT,SMITH
    
    20
    ADAMS,FORD,JORDAN
    
    
    create table a200(deptno varchar2(10),ename varchar2(100),salary varchar2(100));
    
    SQL> select * from a200 ;
    
    DEPTNO    ENAME   SALARY
    ---------- ------------------------------ ----------------------------------------------------------------------------------------------------
    10    SMITH   100
    10    JONES   200
    10    SCOTT   50
    20    ADMAS   34
    20    FORD    89
    20    JORDAN   99
    
    6 rows selected.
    
    
    SQL> SELECT
      2   T .DEPTNO,
      3   listagg (T .ENAME ||'&&'||t.salary,',') WITHIN GROUP (ORDER BY T .ENAME) names
      4  FROM
      5  a200 t
      6  group by deptno;
    
    DEPTNO
    ----------
    NAMES
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    10
    JONES&&200,SCOTT&&50,SMITH&&100
    
    20
    ADMAS&&34,FORD&&89,JORDAN&&99
    
    
    SQL> SELECT
      2   T .DEPTNO,
      3   listagg (T .ENAME ||'&&'||t.salary,',') WITHIN GROUP (ORDER BY T .salary) names
      4  FROM
      5  a200 t
      6  group by deptno;
    
    DEPTNO
    ----------
    NAMES
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    10
    SMITH&&100,JONES&&200,SCOTT&&50
    
    20
    ADMAS&&34,FORD&&89,JORDAN&&99
    
    
    
    
  • 相关阅读:
    Excel 实用技巧之一
    Windows操作技巧 之二(持续更新)
    ASCII码表
    Excel 函数VLOOKUP初学者使用指南
    Windows 操作小技巧 之一(持续更新)
    Excel 使用宏批量修改单元格内指定文字为红字
    Excel 使用CHIINV函数和GAMMA.DIST函数绘制卡方分布
    新手使用R的注意事项
    如何在R中加载”xlsx”包
    增值税——基础知识
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348694.html
Copyright © 2011-2022 走看看