成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何給SQL查詢添加合計行

數據庫 SQL Server
數據庫中最常用的功能就是查詢,下面將以實例的形式為您介紹給SQL查詢添加合計行,希望對您有所啟迪。

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 

#p#

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#p#

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為數據庫本身有的行。

 

 

 

【編輯推薦】

巧用sql替換語句

sql條件語句使用實例

SQL強類型查詢的實現

SQL查詢效率的討論

SQL動態查詢的示例

責任編輯:段燃 來源: 互聯網
相關推薦

2022-05-04 18:26:25

PDF水印Python

2022-10-17 00:00:00

SQLMySQL數據,

2010-09-07 14:22:41

SQL語句

2014-02-14 13:57:22

UbuntuWindowsMac

2013-11-15 14:11:17

Ubuntu 13.1菜單

2018-03-12 09:52:22

Linux命令rm

2021-10-13 08:16:14

SQL 代碼系統

2020-07-13 07:10:09

SQLSQL語句查詢

2015-09-10 16:57:49

字體發行版Linux

2010-09-26 13:56:43

SQL遠程查詢

2011-05-05 11:12:11

EFSQL

2017-09-07 16:20:39

SQL查詢語句查詢優化

2016-12-15 09:58:26

優化SQL高性能

2017-07-12 13:04:23

數據庫SQL查詢執行計劃

2024-08-01 08:37:46

vue圖片性能

2010-09-07 16:17:49

SQL語句

2009-04-20 15:54:04

SQL Server重復行

2010-09-16 15:56:15

SQL Server表

2010-03-15 13:18:15

ubuntu虛擬機

2022-03-01 21:25:30

對象代碼Proxy
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品69久久久久水密桃 | 久久爱黑人激情av摘花 | 亚洲444kkkk在线观看最新 | 日韩午夜电影在线观看 | 精品久久久久久久 | 精品一区二区电影 | 亚欧洲精品在线视频免费观看 | 91大神在线看 | 中文字幕视频三区 | 亚洲v日韩v综合v精品v | 午夜在线免费观看视频 | 亚洲一区二区三区在线免费 | 亚洲一区二区在线播放 | 欧美日韩视频一区二区 | 日韩av在线播 | 男女视频91| 三级在线视频 | 精品久久久网站 | 视频一区欧美 | 性做久久久久久免费观看欧美 | 狠狠干网站 | 成人啊啊啊 | 免费福利视频一区二区三区 | 久久国产精品无码网站 | 日韩一区在线观看视频 | 国产亚洲一区二区三区 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 久草资源在线视频 | 日本三级电影在线免费观看 | 999久久| www狠狠爱com| 日本免费一区二区三区 | 毛片网站在线观看视频 | 精品伊人 | 日本精品在线播放 | 成人久久久 | h视频在线播放 | 国产精品网址 | 国产97在线看 | 中文字幕一二三 | 中文字幕亚洲精品在线观看 |