mysql 增加合计行_如何给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
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查询添加合计行相关推荐
- mysql及格率70以上_五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?| 原力计划...
作者 | 董旭阳TonyDong,CSDN 博客专家 责编 | 唐小引 头图 | CSDN 下载自东方 IC 出品 | CSDN 博客 下面是 5 个关于索引和 SQL 查询性能的测试题:其中 4 个 ...
- mysql增加布尔字段_如何将布尔字段添加到MySQL?
您可以使用tinyint(1)或bool或boolean.都是同义词.如果使用bool或boolean数据类型,则它将在内部更改为tinyint(1). 在PHP中,值0代表false,而1代表tru ...
- 各数据库SQL查询结果多行数据合并成一行
SQL查询结果多行数据合并成一行 一.Oracle函数多行数据合并成一行 二.Mysql函数多行数据合并成一行 三.sqlserver函数多行数据合并成一行 四.postgresql函数多行数据合并成 ...
- mysql编辑前200行_巧妙使用SQL Server编辑前200行功能
在SQL Server 2005/2008/2008 R2中,我们可以使用SQL Server自带的编辑前200行功能,使用这个功能的本意是简化Update 的使用,让开发人员.DBA和不懂T-SQL ...
- mysql外连接插座_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...
1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...
- 易语言mysql复制表语句_易语言SQL数据库查询语句
一.Select语句: select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息.复制.创建数据表.其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用频 ...
- mysql集合运算教程_详解SQL集合运算
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]06.透视.逆透视.分组集 [T ...
- mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢
一条 SQL 查询语句执行的很慢,那是每次查询都很慢呢?还是大多数情况下是正常的,偶尔出现很慢呢?可以分以下两种情况来讨论. 大多数情况是正常的,只是偶尔会出现很慢的情况. 在数据量不变的情况下,这条 ...
- mysql in 宕机_一条SQL引起的mysql宕机
背 景 MySQL引入了Materialization(物化)这一关键特性用于子查询(比如在IN/NOTIN子查询以及 FROM子查询)优化,其关键点在于对子查询只需要执行一次.具体实现方式为: 在 ...
最新文章
- 实训3:配置网络负载平衡服务_Linux系统配置及服务管理第十四章网络管理实战2...
- every day english
- Docker镜像仓库清理的探索之路
- Pytorch学习- 小型知识点汇总 unsqueeze()/squeeze() 和 .max() 等等
- CVPR 2022 3月7日论文速递(17 篇打包下载)涵盖 3D 目标检测、医学影像、图像去模糊、车道线检测等方向
- There is no public key available for the following key IDs: 3B4FE6ACC0B21F32
- JBoss BPM Travel Agency演示与现代BPM数据集成
- 链表相关的算法题大汇总 — 数据结构之链表奇思妙想
- 【OpenCV 例程200篇】04. 用 matplotlib 显示图像(plt.imshow)
- PySpark+Windows开发环境的搭建
- Pytorch损失函数BCELoss,BCEWithLogitsLoss
- tps协议和onvif协议_摄像头ONVIF协议,到底啥是ONVIF,又是啥意思?
- PR剪辑视频工作流程 大剪辑师分享的高级视频编辑技巧
- Linux内核网络UDP数据包发送(四)——Linux netdevice 子系统
- HoloLens2开发笔记-使用UWP原生MediaCapture解决图像捕获与WebRTC视频流冲突问题
- 安全左中右·2022 XDR 网络安全运营新理念峰会圆满落幕
- 【WSL2教程】WSL迁移到非系统盘
- 2021-07-16 转载 - UmiJS应用框架
- Excel如何实现间隔插入空白行
- 菜狗的reverse学习——攻防世界xxxorrr
热门文章
- python课堂笔记手抄图片报_安全手抄小报图片简单又漂亮
- 简单的php 后台管理系统,GitHub - luohuam/LP-ADMIN: 附带简单PHP框架的后台管理系统模板,适合新手...
- PHP e签宝电子签名Saas API 对接流程
- 新安装kali系统必需要做的几项,慢慢的更新添加
- 《Origin 9.0科技绘图与数据分析超级学习手册》一第 1 章 Origin 9.0概述1.1 Origin简介...
- 有这样的语音闹钟,你还会懒床吗??
- 微软展示新版《模拟飞行》:4K分辨率 2020年推出
- 你为什么一定要去美国?给我一个理由
- 中兴cxt路测软件mos测试,LTEMOS优化测试指导书.docx
- 林百里 - 百度百科