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
    
    
    
    
  • 相关阅读:
    UVA 465 Overflow (浮点数的优势)
    UVA 424 Integer Inquiry (大数相加问题)
    UVA 10494 If We Were a Child Again(大数与整型相除取整和取余)
    粘一个在UVA和ZOJ都能AC但POJ WR的代码
    UVA 340 MasterMind Hints
    UVA10815 Andy's First Dictionary
    MSComm写串口通信驱动步骤
    UVA 10106 Product (大数相乘问题)
    实现工具栏中添加的组合框接收回车消息
    UVA 10420 List of Conquests
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348694.html
Copyright © 2011-2022 走看看