[英]oracle grand total row and column wise?
我想要一個將按行和按列總計的查詢,我已經找到了計算按列計數但不獲取按行計數的方法。
select nvl(to_char(R.LTHT_FLAG), 'total') as a,
SUM(CASE WHEN p.STATUS_CODE='0' OR p.STATUS_CODE='1' THEN 1 ELSE 0 END) K,
SUM(CASE WHEN p.STATUS_CODE='2' THEN 1 ELSE 0 END) W,
SUM(CASE WHEN p.STATUS_CODE='4' THEN 1 ELSE 0 END) C,
SUM(CASE WHEN p.STATUS_CODE='6' THEN 1 ELSE 0 END) R
from WORKASSIGNMENT P,RESOURCES R WHERE P.EMP_CODE=R.EMP_CODE
group by rollup (R.LTHT_FLAG);
以下查詢的輸出為按列計數,類似於。
A K W C R Total
DEVELOPMENT 1 18 397 0 ?
HT 43 21 673 0 ?
LT 83 14 7955 60 ?
SLD 306 9 4621 24 ?
----------------------------------------
total 433 62 13646 84 ?
但現在我想按行計算此輸出
請幫助我逐行求和
只需添加所有列即可獲得每一行的總數。
例如,
SQL> WITH sample_data AS(
2 SELECT 'DEVELOPMENT' A, 1 k, 18 w, 397 c, 0 r FROM dual UNION ALL
3 SELECT 'HT' A, 43 k, 21 w, 673 c, 0 r FROM dual UNION ALL
4 SELECT 'LT' A, 83 k, 14 w, 7955 c, 60 r FROM dual UNION ALL
5 SELECT 'SLD' A, 306 k, 9 w, 4621 c, 24 r FROM dual
6 )
7 -- end of sample_data mimicking real table
8 SELECT t.*, k+w+c+r total FROM sample_data t;
A K W C R TOTAL
----------- ---------- ---------- ---------- ---------- ----------
DEVELOPMENT 1 18 397 0 416
HT 43 21 673 0 737
LT 83 14 7955 60 8112
SLD 306 9 4621 24 4960
SQL>
上面,而不是sample_data
,將您當前的SQL作為子查詢放在FROM子句中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.