zoukankan      html  css  js  c++  java
  • PostgreSql之在group by查询下拼接列字符串

    首先创建group_concat聚集函数:

    CREATE AGGREGATE group_concat(anyelement)
    (
    sfunc = array_append, -- 每行的操作函数,将本行append到数组里
    stype = anyarray, -- 聚集后返回数组类型
    initcond = '{}' -- 初始化空数组
    );
    

    接着上一个SQL样例:
    在订单明细表按poseason分组,把ticket_codeorder_id去除重复并且拼接起来

    --wp_order_detail
    SELECT
    	po,
    	season,
    	array_to_string( group_concat ( DISTINCT ticket_code ), ',' ) AS ticket_codes,
    	array_to_string( group_concat ( DISTINCT order_id ), ',' ) AS order_ids
    FROM
    	wp_order_detail
    WHERE
    	exists (select 1 from wp_order orders where orders.id = order_id and type = 'Po')
    GROUP BY
    	po,
    	season;
    

    最后查询结果截图:

  • 相关阅读:
    刷题柱 -- 暂封
    模板重搭建計劃
    思路与好题记录与小技巧
    错误记录
    随便记点东西……
    图床
    杂碎的小技巧
    hnsdfz -- 6.21 -- day7
    hsdf -- 6.21 -- day6
    hnsdfz -- 6.20 -- day5
  • 原文地址:https://www.cnblogs.com/VAllen/p/PostgreSql-join-string-in-group-by-select.html
Copyright © 2011-2022 走看看