如何对金额求和并将报价合并成一行?

How to sum the amount and merge the offers in a single row?

我有 table 折扣交易数据如下:

交易ID 折扣金额 折扣优惠
S011-T012 50 6 月 21 日
S011-T012 25 ManagerDisc
S011-T025 15 7 月 21 日

我需要创建一个 table,以便针对单笔交易计算折扣金额并并排显示折扣优惠(它们之间可能有分隔符)。例如:

交易ID 折扣金额 折扣优惠
S011-T012 75 Jun-21 / ManagerDisc
S011-T025 15 7 月 21 日

我可以计算折扣金额,但很难合并优惠。

有人可以提供有关如何实现此目的的任何提示吗?

您可以使用 GROUP BY,如:

select
  TransactionID,
  sum(DiscountAmount) as DiscountAmount,
  string_agg(DiscountOffer, ' / ') as DiscountOffer
from t
group by TransactionID