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...