DB2 查询、分组结果并允许不同的值是逗号分隔值

DB2 query, group result and allow different values to be a comma seperated value

我有一个非常简单的查询,returns 结果有时所有列只有一列完全相同,如下所示:

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

有什么方法可以更改它,使其仍然按其他列分组,但用逗号分隔一行中的项目?

您正在描述 listagg():

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