SQL 給查詢新增乙個合計行

2021-04-13 12:41:40 字數 2147 閱讀 5494

1.資料表t_test

id      銷售人員id         商品id           數量

id       emp_id            product_id       qty

1        01                     001               200

2        01                     002               300

2        01                     002               400

3        02                      001              400

4        02                      002                500

2.需要得到的結果

需要得到類似下面的結果

emp_id                    qty

01                           900

02                           900

合計                        1800

--------------------------------------

大家看到了,這裡加上了乙個合計列

參考sql語句如下

select emp_id,sum(qty)     qty

from t_test

group by rollup(emp_id)

查詢的結果如下所示

emp_id                    qty

01                           900

02                           900

1800

--------------------------------------

ok,最後一行顯示為空,正確的應該顯示為"合計",對上面的sql稍做修改就好了

select nvl(emp_id,'合計') emp_id,sum(qty)     qty

from t_test

group by rollup(emp_id)

這樣就得到我們要求的結果了

3.負責一點,統計每個銷售人員以及商品的數量

emp_id         product_id             qty

01                 001                        200

01                  001                       700

01                  小計                      900

02                 001                          400

02                 002                          500

02                 小計                         900

合計                                            1800

--------------------------------------

由於要統計合計以及小計,不能簡單的用nvl來產生"合計"了,要用grouping函式,來判斷者某行是否有rollup產生的合計行,

select

case when grouping(emp_id)=1 and grouping(product_id)=1 then '合計' else emp_id end emp_id,

case when grouping(emp_id)=0 and grouping(product_id)=1 then '小計' else procudt_id end product_id,

sum(qty) qty

from t_test

group by rollup(emp_id,product_id)

注意,grouping(emp_id)=1,說明是有rollup函式生成的行,0為資料庫本身有的行

遇到給ExtJS頁面加乙個合計行的問題

遇到給extjs頁面加乙個合計行的問題,在後台 裡新增太麻煩了,這裡給大家乙個簡單的方法。合計函式begin function gridsum grid var p new ext.data.record grid.store.insert 0,p 插入到當前頁的第一行 p 插入到當前頁的最後一行,...

如何把個表的合計字段 合併SQL查詢到乙個結果集中

為了把兩個查詢檢視中 檢視 物業應交 檢視 抄表應交 的結果再次的集中到乙個查詢結果中並合計計算出每個使用者的計量儀表和物業收費的合計值。這個問題搞了2天了,今天終於解決了。還要感謝csdn的各位高手給予我的幫助!select 使用者 id,使用者名稱,位址,區名稱,樓名稱,面積,人數,餘額,max...

centos 給ftp新增加乙個使用者

1.新增使用者 1 增加使用者ftpuser,指向目錄 home wwwroot folder,禁止登入ssh許可權。useradd d home wwwroot folder g ftp s sbin nologin ftpuser 2 設定使用者口令 passwd ftpuser 2.把fold...