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;
    

    最后查询结果截图:

  • 相关阅读:
    day01
    用表单验证数据(1)
    用表单验证数据
    表单
    ORM作业
    mysql完全卸载大全
    mycat特点及用途
    ajax 跨域请求解决方案
    myeclipse使用SVN团队开发
    配置mybatis错误总结
  • 原文地址:https://www.cnblogs.com/VAllen/p/PostgreSql-join-string-in-group-by-select.html
Copyright © 2011-2022 走看看