zoukankan      html  css  js  c++  java
  • string_agg 与array_agg

    string_agg

    实例1

    • 数据
    imos=# select res_id, res_name from test;
     res_id |    res_name
    --------+----------------
          1 | Root
      10001 | EC_PAG
      10002 | EC_PAG_GUOBIAO
    (3 rows)
    
    • 普通string_agg
    imos=# select string_agg(res_name,';') from test;
             string_agg
    ----------------------------
     Root;EC_PAG;EC_PAG_GUOBIAO
    (1 row)
    
    • 带有order by 的string_agg
    imos=# select string_agg(res_name,';' order by res_name ) from test;
             string_agg
    ----------------------------
     EC_PAG;EC_PAG_GUOBIAO;Root
    (1 row)
    
    

    实例2

    • 数据
    postgres=# create table test(id int,name varchar(20));
    CREATE TABLE
    postgres=# insert into test values(1,'a');
    INSERT 0 1
    postgres=# insert into test values(1,'b');
    INSERT 0 1
    postgres=# insert into test values(1,'c');
    INSERT 0 1
    postgres=# insert into test values(2,'d');
    INSERT 0 1
    postgres=# insert into test values(2,'e');
    INSERT 0 1
    postgres=# select * from test;
     id | name
    ----+------
      1 | a
      1 | b
      1 | c
      2 | d
      2 | e
    (5 rows)
    
    
    • 不分组
    
    postgres=# select string_agg(name,',') from test;
     string_agg
    ------------
     a,b,c,d,e
    (1 row)
    
    • 分组
    postgres=# select id ,  string_agg(name,',') from test group by id;
     id | string_agg
    ----+------------
      2 | d,e
      1 | a,b,c
    (2 rows)
    
    

    array_agg

    imos=# select array_agg(res_name) from test;
    ERROR:  could not find array type for data type imos_name
    imos=#
    imos=#
    imos=#
    imos=# select array_agg(res_name::varchar) from test;
              array_agg
    ------------------------------
     {Root,EC_PAG,EC_PAG_GUOBIAO}
    (1 row)
    
    imos=#
    imos=# select array_agg(res_name::varchar order by res_name ) from test;
              array_agg
    ------------------------------
     {EC_PAG,EC_PAG_GUOBIAO,Root}
    (1 row)
    
    
  • 相关阅读:
    Github注册过程以及对管理软件的了解
    进度总结
    总体心得
    学车后的领悟
    打工心得
    关于传统文化的对话实践计划书
    软件工程-课程总结
    结对编程项目---四则运算
    作业三
    目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点
  • 原文地址:https://www.cnblogs.com/yldf/p/11899976.html
Copyright © 2011-2022 走看看