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

Create table #t_test(

id int not null,

emp_id int not null,

product_id int not null,

qty int not null

)

insert into #t_test values(1,01,001,200)

insert into #t_test values(2,01,002,300)

insert into #t_test values(3,01,002,400)

insert into #t_test values(4,02,001,400)

insert into #t_test values(5,02,002,500)

select *

from #t_test

2.需要得到的结果

需要得到类似下面的结果

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

emp_id                    qty

01                           900

02                           900

合计                        1800

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

大家看到了,这里加上了一个合计列

参考sql语句如下

-- for MS SQL Server 2005

select isnull(CONVERT(varchar(20), emp_id),'Total') as 'emp_id'

,sum(qty) as 'qty_Total'

from #t_test

group by emp_id

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产生的合计行,

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为数据库本身有的行。

【编辑推荐】

【责任编辑:段燃 TEL:(010)68476606】

点赞 0

mysql 增加合计行_如何给SQL查询添加合计行相关推荐

  1. mysql及格率70以上_五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?| 原力计划...

    作者 | 董旭阳TonyDong,CSDN 博客专家 责编 | 唐小引 头图 | CSDN 下载自东方 IC 出品 | CSDN 博客 下面是 5 个关于索引和 SQL 查询性能的测试题:其中 4 个 ...

  2. mysql增加布尔字段_如何将布尔字段添加到MySQL?

    您可以使用tinyint(1)或bool或boolean.都是同义词.如果使用bool或boolean数据类型,则它将在内部更改为tinyint(1). 在PHP中,值0代表false,而1代表tru ...

  3. 各数据库SQL查询结果多行数据合并成一行

    SQL查询结果多行数据合并成一行 一.Oracle函数多行数据合并成一行 二.Mysql函数多行数据合并成一行 三.sqlserver函数多行数据合并成一行 四.postgresql函数多行数据合并成 ...

  4. mysql编辑前200行_巧妙使用SQL Server编辑前200行功能

    在SQL Server 2005/2008/2008 R2中,我们可以使用SQL Server自带的编辑前200行功能,使用这个功能的本意是简化Update 的使用,让开发人员.DBA和不懂T-SQL ...

  5. mysql外连接插座_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  6. 易语言mysql复制表语句_易语言SQL数据库查询语句

    一.Select语句: select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息.复制.创建数据表.其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用频 ...

  7. mysql集合运算教程_详解SQL集合运算

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]06.透视.逆透视.分组集 [T ...

  8. mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢

    一条 SQL 查询语句执行的很慢,那是每次查询都很慢呢?还是大多数情况下是正常的,偶尔出现很慢呢?可以分以下两种情况来讨论. 大多数情况是正常的,只是偶尔会出现很慢的情况. 在数据量不变的情况下,这条 ...

  9. mysql in 宕机_一条SQL引起的mysql宕机

    背  景 MySQL引入了Materialization(物化)这一关键特性用于子查询(比如在IN/NOTIN子查询以及 FROM子查询)优化,其关键点在于对子查询只需要执行一次.具体实现方式为: 在 ...

最新文章

  1. 实训3:配置网络负载平衡服务_Linux系统配置及服务管理第十四章网络管理实战2...
  2. every day english
  3. Docker镜像仓库清理的探索之路
  4. Pytorch学习- 小型知识点汇总 unsqueeze()/squeeze() 和 .max() 等等
  5. CVPR 2022 3月7日论文速递(17 篇打包下载)涵盖 3D 目标检测、医学影像、图像去模糊、车道线检测等方向
  6. There is no public key available for the following key IDs: 3B4FE6ACC0B21F32
  7. JBoss BPM Travel Agency演示与现代BPM数据集成
  8. 链表相关的算法题大汇总 — 数据结构之链表奇思妙想
  9. 【OpenCV 例程200篇】04. 用 matplotlib 显示图像(plt.imshow)
  10. PySpark+Windows开发环境的搭建
  11. Pytorch损失函数BCELoss,BCEWithLogitsLoss
  12. tps协议和onvif协议_摄像头ONVIF协议,到底啥是ONVIF,又是啥意思?
  13. PR剪辑视频工作流程 大剪辑师分享的高级视频编辑技巧
  14. Linux内核网络UDP数据包发送(四)——Linux netdevice 子系统
  15. HoloLens2开发笔记-使用UWP原生MediaCapture解决图像捕获与WebRTC视频流冲突问题
  16. 安全左中右·2022 XDR 网络安全运营新理念峰会圆满落幕
  17. 【WSL2教程】WSL迁移到非系统盘
  18. 2021-07-16 转载 - UmiJS应用框架
  19. Excel如何实现间隔插入空白行
  20. 菜狗的reverse学习——攻防世界xxxorrr

热门文章

  1. python课堂笔记手抄图片报_安全手抄小报图片简单又漂亮
  2. 简单的php 后台管理系统,GitHub - luohuam/LP-ADMIN: 附带简单PHP框架的后台管理系统模板,适合新手...
  3. PHP e签宝电子签名Saas API 对接流程
  4. 新安装kali系统必需要做的几项,慢慢的更新添加
  5. 《Origin 9.0科技绘图与数据分析超级学习手册》一第 1 章 Origin 9.0概述1.1 Origin简介...
  6. 有这样的语音闹钟,你还会懒床吗??
  7. 微软展示新版《模拟飞行》:4K分辨率 2020年推出
  8. 你为什么一定要去美国?给我一个理由
  9. 中兴cxt路测软件mos测试,LTEMOS优化测试指导书.docx
  10. 林百里 - 百度百科