[英]Groupings and pivoting
在此處輸入圖像描述我正在嘗試為該場景編寫代碼。
列 a- 組 - 1-4 、 5-7 、 8-10、 11+ 和新(5 組)
金額字段、計數字段
因此,對於 2020 財年 - 除了 New 之外,我有 4 行。
對於 2019 財年,除了 5-7 和 New 之外,我得到了 3 行。 12
我必須旋轉才能並排獲得上一年的度量和本年度的度量。
組容量
1-4 amout1 Amount2 5-7 amount1 null 8-10 amount1 amount2 11+ amount1 amount2
我嘗試了滯后功能,但是由於我有分組,因此無法按預期對 py 起作用。 非常感謝任何幫助!
謝謝
您可以通過正確使用sysdate
偽列來匹配當前年份和以前的計算來使用Conditional Aggregation
:
SELECT TO_CHAR(sysdate,'YYYY') AS "Year",
"Group",
NVL(MAX(CASE WHEN year = TO_CHAR(sysdate,'YYYY') THEN
amount
END),0) AS "Amount",
NVL(MAX(CASE WHEN year = TO_CHAR(sysdate,'YYYY') THEN
count
END),0) AS "Count",
NVL(MAX(CASE WHEN year = TO_CHAR(sysdate,'YYYY') - 1 THEN
amount
END),0) AS "Amount PY",
NVL(MAX(CASE WHEN year = TO_CHAR(sysdate,'YYYY') - 1 THEN
count
END),0) AS "Count PY"
FROM t
GROUP BY "Group"
ORDER BY TO_NUMBER( REGEXP_SUBSTR("Group",'[^-+]+') )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.