【问题标题】:DB2 query, group result and allow different values to be a comma seperated valueDB2 查询、分组结果并允许不同的值是逗号分隔值
【发布时间】:2020-08-21 13:12:29
【问题描述】:

我有一个非常简单的查询,它返回的结果有时所有列都相同,但一个相同,如下所示:

name   |   address   |   item  |   date
---------------------------------------------
Bob      123 East st    A123     07-02-2020
Bob      123 East st    A213     07-02-2020

我想尝试一下,这样我基本上可以对这个结果进行分组,但这些项目将是一个逗号分隔的列表,如下所示:

name   |   address   |   item          |   date
----------------------------------------------------
Bob      123 East st    A123, A213       07-02-2020

我的查询是:

SELECT NAME, ADDRESS, ITEM, DATE
FROM ITEM_TABLE
WHERE DATE <= current_date
GROUP BY NAME, ADDRESS, ITEM, DATE

有没有办法可以更改它,使其仍按其他列分组,但用逗号分隔单行中的项目?

【问题讨论】:

    标签: sql db2-400


    【解决方案1】:

    你在描述listagg()

    select name, address,
           listagg(item, ',') within group (order by item) as items,
           date
    from t
    group by name, address, date;
    

    【讨论】:

    • 啊,非常感谢!出于某种原因,这似乎从我身边溜走,但我现在看到它确实在一个组中聚合。谢谢你
    猜你喜欢
    • 1970-01-01
    • 2013-10-26
    • 2014-01-13
    • 2017-06-22
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多