我需要一些帮助,因为我刚接触SQL。我已经阅读了诸如Using group by on multiple columns之类的SO上的多个帖子,而我只是无法弄清楚如何完成我需要做的事情。现在我有来自同一张表的4列,我只需要按这些列中的一列进行分组,并在每组末尾显示总和。 目前,我将其作为字符串:
SELECT
uic5a5 as "Processor",
acctno as "Account Number",
orgamt AS "Loan Amount",
date(digits(decimal(orgdt7 + 0.090000, 7, 0))) as "Origination_Date"
FROM cncttp08.jhadat842.lnmast lnmast
where uic5a5 is not null
order by uic5a5 desc
哪个给了我预期的结果:
Processor | Account Number | Loan Amount | Origination Date
----------------------------------------------------------
ZJE XXXXXXX 85000.00 2018-05-15
ZJE XXXXXXX 150000.00 2018-12-05
CJK XXXXXXX 75000.00 2018-06-29
我想做的就是得到这样的结果:
Processor | Account Number | Loan Amount | Origination Date | Total
-------------------------------------------------------------------
ZJE XXXXXXX 85000.00 2018-05-15
XXXXXXX 150000.00 2018-12-05
235000.00
CJK XXXXXXX 75000.00 2018-06-29
75000.00
我希望有人可以指出正确的方向来完成这项任务。
答案 0 :(得分:1)
DB2应该支持分组集。如果是这样,您可以这样做:
select uic5a5 as "Processor", acctno as "Account Number",
sum(orgamt) AS "Loan Amount",
date(digits(decimal(orgdt7 + 0.090000, 7, 0))) as "Origination_Date"
from cncttp08.jhadat842.lnmast lnmast
where uic5a5 is not null
group by grouping sets ( (uic5a5, acctno, date(digits(decimal(orgdt7 + 0.090000, 7, 0)))), (uic5a5) );