91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

如何給SQL查詢添加合計行

admin
2011年5月4日 15:27 本文熱度 3369

SQL查詢是SQL數據庫的核心功能,下面為您介紹給SQL查詢添加合計行的方法示例,供您參考,希望對您學習SQL查詢能有所幫助。


.數據表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
 

  1. Create table #t_test(  
  2. id int not null,  
  3. emp_id int not null,  
  4. product_id int not null,  
  5. qty int not null  
  6. )  
  7. insert into #t_test values(1,01,001,200)  
  8. insert into #t_test values(2,01,002,300)  
  9. insert into #t_test values(3,01,002,400)  
  10. insert into #t_test values(4,02,001,400)  
  11. insert into #t_test values(5,02,002,500)  
  12.  
  13. select *   
  14. from #t_test 



2.需要得到的結果


需要得到類似下面的結果


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


emp_id                    qty


01                           900


02                           900


合計                        1800


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


大家看到了,這里加上了一個合計列


參考sql語句如下

  1. -- for MS SQL Server 2005  
  2. select isnull(CONVERT(varchar(20), emp_id),'Total') as 'emp_id'   
  3.     ,sum(qty) as 'qty_Total'  
  4. from #t_test  
  5. group by emp_id  
  6. with rollup 

SQL查詢的結果如下所示


emp_id qty_Total


1 900
2 900
Total 1800


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產生的合計行,

  1. select  
  2.  
  3. case when grouping(emp_id)=1 and grouping(product_id)=1 then '合計' else emp_id end emp_id,  
  4.  
  5. case when grouping(emp_id)=0 and grouping(product_id)=1 then '小計' else procudt_id end product_id,  
  6.  
  7. sum(qty) qty  
  8.  
  9. from t_test  
  10.  
  11. group by rollup(emp_id,product_id)  
  12.  

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


該文章在 2011/5/4 15:27:36 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产午夜一区二 | 国产午夜电影免费 | 国产在线高清视频 | 国产萝控精 | 精品在线看| 国产精品亚洲精 | 日韩二区三区四区 | 福利动作电影 | 91密臀在线播放 | 日本不卡网站 | 国产91大长腿在线 | 国产欧美综合在线 | 国产精品户 | 国内综合精品午 | 国产精品免费大 | 日韩欧美国产另 | 国产女人成人精品视 | 最新国产在线拍揄自揄 | 日本欧美视频 | 九九精品视频 | 日本成人中文字幕 | 日本不卡一区二 | 午夜视频| 日韩经典| 欧美日韩日处女黑人 | 99精品热在线 | 青青草国产成 | 日韩福利在线观看 | 国产一区二区三区不 | 日韩一区二区免费 | 日本中文字幕电影 | 国产日产韩 | 国产亚洲一 | 91丨露脸丨熟女 | 激情五月综合网 | 91在綫亞州 | 日本欧美综合观看 | 日韩亚洲欧美 | 九色99| 99导航最好福利 | 91午夜福利合集 |