我正在尝试使用SQL重新制作这张excel表。
我正在尝试使用相同的数字对LOAN_ACCT_1进行总线分组。然后,我想在LOAN_AM之后对colums中的所有值求和。
我已经尝试了很长一段时间了,但是我最接近使用ROLLUP。我遇到的问题是我似乎无法在LOAN_ACCT_1上进行分组。
我接近这个microsoft site的解决方案,但我似乎无法完成解决方案。我有一种更容易忽视的方式吗?
SELECT CASE WHEN(GROUPING(l.LOAN_ACCT_1) = 1) THEN 'TOTAL'
ELSE ISNULL(l.LOAN_ACCT_1, 'UNKNOWN')
END AS LOAN_ACCT_1,
CASE WHEN(GROUPING(l.LOAN_TYPE) = 1) THEN 'ALL'
ELSE ISNULL(l.LOAN_TYPE, 'UNKNOWN')
END AS LOAN_TYPE,
SUM(l.LOAN_AMT_FINANCED) as LOAN_AMT_FINANCED
FROM LLOAN As l
GROUP BY l.LOAN_ACCT_1, LOAN_TYPE WITH ROLLUP
ORDER BY l.LOAN_ACCT_1
答案 0 :(得分:1)
如果您只想要一列的总数而不是两者,那么请使用GROUPING_SETS
:
GROUP BY GROUPING SETS ((l.LOAN_ACCT_1, LOAN_TYPE), (l.LOAN_ACCT_1))
您可能需要查看documentation以更好地了解其工作原理。