sqlserver查询补全时间_mssql 按日期分组(group by)查询统计的时候,没有数据补0的解决办法...

摘要:

下文讲述一次报表制作的需求,

需制作一个月的销量的数据汇总,如果其中某一天没有数据,那么就补0处理

例:

/*

统计2018-4月份的销量统计,

无数据的天补0

*/

---建立基础数据

create table saleInfo(dateInfo datetime,qty int )

go

insert into saleInfo (dateinfo,qty)values('2018-4-1',5)

insert into saleInfo (dateinfo,qty)values('2018-4-2',8)

insert into saleInfo (dateinfo,qty)values('2018-4-2',18)

insert into saleInfo (dateinfo,qty)values('2018-4-3',10)

insert into saleInfo (dateinfo,qty)values('2018-4-8',9)

insert into saleInfo (dateinfo,qty)values('2018-4-10',6)

insert into saleInfo (dateinfo,qty)values('2018-4-15',28)

insert into saleInfo (dateinfo,qty)values('2018-4-20',152)

insert into saleInfo (dateinfo,qty)values('2018-4-21',36)

insert into saleInfo (dateinfo,qty)values('2018-4-22',72)

insert into saleInfo (dateinfo,qty)values('2018-4-28',20)

insert into saleInfo (dateinfo,qty)values('2018-4-4',12)

go

--按日期汇总,但是无销售数据的天数无法出现

---select convert(varchar,dateInfo,111) as d,sum(qty) as qty from saleInfo group by convert(varchar,dateInfo,111)

----采用系统常量表spt_values表,辅助补0操作

select convert(varchar,a.d,111) as [日期],

isnull(b.qty,0) as [销量]

from

(

---生成4月份所有的天数

select dateadd(day,number,'2018-4-1') as d from master..spt_values

where type='p'

and number >=0

and dateadd(day,number,'2018-4-1') between '2018-4-1' and dateadd(day,-1,'2018-5-1')

) as a

left join

(

---按天汇总的销量数据

select convert(varchar,dateInfo,111) as d,sum(qty) as qty from saleInfo group by convert(varchar,dateInfo,111)

) as b

on convert(varchar,a.d,111) = b.d

go

truncate table saleInfo

drop table saleInfo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET MVC 4 小项目开发总结

项目很小,就是一个企业站的前后台,主要包括新闻模块、产品模块、视频模块、留言。没有什么技术上的难点,大部分就是CRUD操作。开始之前评估开发时间为4天,实际coding时间为3天,debug时间为2天,关于debug时间…

深度优化LNMP之Nginx [2]

配置Nginx gzip 压缩实现性能优化 1.Nginx gzip压缩功能介绍 Nginx gzuo压缩模块提供了压缩文件内容的功能,用户请求的内容在发送出用客户端之前,Nginx服务器会根据一些具体的策略实施压缩,以节约网站出口带宽,同时加快了数据传…

go int 转切片_一文掌握GO语言实战技能(二)

Go 数组Go 切片Go 变量和内存地址Go Map 类型Go 面向对象编程Go 方法的定义GO 数组数组是同一类型的元素集合。Go中的数组下标从0开始,因此长度为n的数组下标范围是[0, n-1]。整数数组中元素默认初始化为0,字符串数组中的元素默认初始化为""。…

Swing

1 历史 1.1 SUN Jdk1.1 AWT ,控件很少,不方便应用程序开发 1.2 java 1.2 Swing 基于 Awt 的绘图功能能重绘的界面组件,提供了极其吩咐的控件 a:性能慢   b:结构优秀(mvc) c:实际应用很少 1.3 …

Shell 脚本调试

Shell 脚本调试 1、学习脚本开发规范2、好的编码习惯提示:脚本不是你写的或者windows下开发的脚本,你检查脚本明明没有问题,但就是执行出现错误,要想到执行dos2unix格式化下。好习惯:每次写脚本都执行dos2unix格式化下…

设置固定长度_加气块砌筑(构造柱、圈梁设置)技术交底21条

墙体砌筑技术交底我给下发21条,内容不全,砌筑的墙体观感差,欢迎大家提出宝贵意见1、填充墙的材料、平面位置尺寸见建筑施工图纸,不得随意更改。2、当首层填充墙下无基础梁或结构梁板时,墙下应做基础,基础作…

网页设计表格单元格线条及边框设置

本文关键字:网页,表格,设置 灵活的在网页设计中使用单元格线条及边框,可以大幅提高网页开发的效率,下面我们就来实际分析一下。 图1 网页中的单元格线条示范 其实上面的三个表格都有三行三列,隐藏分隔线的诀窍在于rules&#…

深度优化LNMP之MySQL

MySQL数据库优化框架体系 1.硬件层面优化 2.操作系统层面优化 3.MySQL数据库层面优化 4.MySQL安全优化 5.网站集群架构上的优化 6.MySQL流程、制度控制优化 硬件层面优化 1、数据库物理机采购 CPU: 64位CPU,一台机器2-16颗CPU。至少2-4颗&#xff0…

element vue 纵向滑动条_Vue 部分

1、ES6Vue :1、Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的…

C#集合通论

前言 写这篇文章的最初动力是来自于一次笔试经历。有一道笔试题大概是这样的:程序使用一个txt文件来存储操作记录。存储记录是多行字符串,每一行代表一次操作记录,格式如下:用户名操作事项名称操作时间。现在假设这个txt文件已经非…

Shell 脚本案例实战 [4]

for循环结构for 循环结构语句1.for循环结构:语法:for 变量名 in 变量取值列表do指令…done提示:在此结构中“in 变量取值列表”可省略,省略时相当于in “$”,使用for i 就相当于使用for i in “$”2.C语言型for循环结构…

python后台截屏_Python实现屏幕截图

之前使用Python构建了一个图片转文字小工具,但是使用的是使用系统自带的截图工具然后监听目录变化来实现的。接下来我想直接使用Python来构建一个截图工具,这样就可以结合转换工具使用。构建图形界面本文使用Python自带的GUI库Tkinter来构建图形界面。Tk…

ORACLE 进入sqlplus的协议适配器错误

ORACLE 进入sqlplus的输入用户名密码的时候提示: ORA-12560: TNS: 协议适配器错误 解决方案是在 我的电脑,属性--高级--环境变量---系统变量--新建,变量名oracle_sid,变量值XXXX,XXXX就是你的databaseSID 在网络上查找了一下,似乎…

深度优化LNMP之PHP

PHP缓存加速介绍1.操作码介绍及缓存原理当客户端请求一个php程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码文件(Operate Code,opcode)该文件是执行PHP代码后的一种二进制表示形式。默认情况下,这个…

pythonenumerate函数_enumerate,enumerate函数的使用方法

这需要使用到度enumitem宏包,这是一个非常有用的宏包,你可以去阅读一下它的文档。它对于自定义编号环境有问很大的帮助。\documentclass[UTF8]{ctexrep}\usepackage{enumitem}\begin{document}Thisisatextfortestingtheindentofenumerateenviornment.Ple…

链接文件

ln [-sf] 原文件 目标文件 如果ln不加任何参数就进行链接,那么就是硬链接,-s是符号链接 -f 如果目标文件存在,就主动将目标文件直接删除后在建立转载于:https://www.cnblogs.com/seasonsstory/p/3152816.html

8g ubuntu 树莓派4b_树莓派4B安装 Ubuntu 20.04 LTS

硬件:Raspberry Pi 4B(4g或8g版本)系统:Ubuntu 20.04 LTS官网:https://ubuntu.com/download/iot/raspberry-piPC:win10相关工具:sd card formatter 5.0.1win32diskManager 1.0下载系统镜像使用sd card formatter格式化…

data矩阵poj 2778 DNA Sequence

最近研究data矩阵,稍微总结一下,以后继续补充: ac自动机处理字符串,dp计算谜底,用矩阵来减速 每日一道理 巴尔扎克说过“不幸,是天才的进升阶梯,信徒的洗礼之水,弱者的无底深渊”。风…

PHP服务Fcgi进程及PHP解析优化

1、PHP引擎缓存加速常见四种软件:1.eAccelerator2.Zendcache3.xcache4.apc5.zendopcache php5.5自带2、使用tmpfs作为缓存加速缓存的文件目录 [rootweb02 ~]# mount -t tmpfs tmpfs /dev/shm -o size256m[rootweb02 ~]# mount -t tmpfs /dev/shm/ /tmp/eaccelerator…

JS中typeof与instanceof的区别

JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的:typeof typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。 它返回值是一个字符串,该字符…