如何对金额求和并将报价合并成一行?
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
我有 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