SqlServer报表统计
现在的项目使用的是SqlServer2008,在做报表统计的时候,发现一个很好用的函数,记录一下,方便自己以后查询,也方便大家初学的,或者正在做这方面业务的参考下。
比如:
这种格式报表,我以前都是用子查询统计。导致效率极其的慢。现在我改成了
select<!-- 企业自收 _____ 现金支付 a.collect_channel = '0' and a.type_collect = '1' -->COUNT(CASE WHEN (a.collect_channel = '0' and a.type_collect = '1') THEN 1 ELSE NULL END) AS cashNum,SUM(CASE WHEN (a.collect_channel = '0' and a.type_collect = '1') THEN a.money ELSE 0 end)as cashMoneySum,<!--企业自收 _____ pos刷卡 a.collect_channel = '0' and a.type_collect = '3' -->COUNT(CASE WHEN (a.collect_channel = '0' and a.type_collect = '3') THEN 1 ELSE NULL END) AS posCardNum,SUM(CASE WHEN (a.collect_channel = '0' and a.type_collect = '3') THEN a.money ELSE 0 end)as posCardMoneyNum
from from supplyheat_collect_record a
这样就方便我们进行各种类别的统计了,而且查询速度挺快的。
COUNT(CASE WHEN 条件 THEN 满足条件得到的值 ELSE NULL END)
SUM(CASE WHEN 条件 THEN 满足条件得到的值 ELSE 0 END)
有一个很奇怪的原因count() 的Else只能用null 如果换成0 查询的count值就会不对,这个还没有研究,目前这块是可以用的了,以后有时间在继续研究这个吧!
SqlServer报表统计相关推荐
- 报表统计-mysql存储过程
首先mysql如何创建一个存储过程: 1.创建一个日常考核的存储过程: drop procedure if exists pr_dailycheck; 首先判断是否存在同名的存储过程,如果存在同名的存 ...
- SQLSERVER中统计所有表的记录数
SQLSERVER中统计所有表的记录数 利用系统索引表sysindexes中索引ID indid<1的行中的rows列存有该表的行数这一特点. 方法是利用隐藏未公开的系统存储过程sp_MS ...
- [ZJOI2007]棋盘制作 报表统计 矩阵游戏 时态同步
好长时间了..简要除草. 棋盘制作:经典dp... 报表统计:明显数据结构,,,但我没想出来,第一问可以用堆,第二问用平衡树. 矩阵游戏:好吧.一眼二分图,匈牙利过. 时态同步:树形dp,貌似不难,( ...
- bzoj 1058: [ZJOI2007]报表统计 (Treap)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1058 题面; 1058: [ZJOI2007]报表统计 Time Limit: 15 Sec ...
- SQLServer报表服务研究文档
SQLServer报表服务研究文档. Ø 研究目的 研究CRM4.0中的报表与sqlserver2005中的报表的集成,如何将CRM中已经制作好的报表导出后在SQLSERVER2005中进行修改后再导 ...
- Oracle分析函数、多维函数和Model函数简要说明,主要针对BI报表统计
以下代码均经过测试,可直接运行 Oracle分析函数.多维函数和Model函数简要说明,主要针对BI报表统计,不一定很全面,但对BI应用场景做了少许说明 --创建一张销售数量表,数据趋势是递增的 CR ...
- 【BZOJ1058】[ZJOI2007]报表统计 STL
[BZOJ1058][ZJOI2007]报表统计 Description 小Q的妈妈是一个出纳,经常需要做一些统计报表的工作.今天是妈妈的生日,小Q希望可以帮妈妈分担一些工作,作为她的生日礼物之一.经 ...
- hql 查询关联对象_在spring data jpa中如何做报表统计查询?
问题描述 之前有个简单的报表统计需求,如果用sql的话是比较简单的,但是基于spring data jpa还没有遇到好的解决方案,折腾半天用spring data提供的几种方式都不能解决,spring ...
- es统计mysql 报表_Elasticsearch(简称ES)实现日报表、月报表、年报表统计,没数据补0...
前言: 这是1张相对简单些报表示例,用sql语句也能实现,但主要是为了便于大家理解ES聚合实现报表的使用方法. 之前写过"java实现日报表.月报表统计,没数据补0"文章,http ...
最新文章
- Maven之jar包和项目管理
- 电脑b站html加速播放,b站投稿如何提高播放速度?如何2倍速?b站播放器选择倍速快捷方式...
- Hadoop大数据——shuffle详解
- java基础题 解析_Java基础面试题及答案解析(10)
- java生成wsdl文件_webservice之通过wsdl文件生成客户端
- C#程序设计基础试题(一)
- SIM868调试日志
- 个人收集的IT技术网站集合,涉及web前后端,大数据,UI设计等。
- 《IS-IS网络设计解决方案》一第6章 最短路径优先算法6.1 SPF算法概述
- Kmplayer硬件解码高清视频优化设置
- Ubuntu下鼠标无法点击解决方案
- 解决win10测试麦克风显示有声音,但是实际使用teams还有其他录音设备时没有声音
- [在线挑战]【i春秋】渗透测试入门 —— 渗透测试笔记 --转
- 怎么把视频中的音频提取成mp3?
- JAVA字符串占位符使用
- Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization文章理解
- 联想拯救者系列嗡嗡声,风扇狂转解决办法,亲测有效
- ccfcsp201903-2 24点游戏
- IOCTL_SCSI_PASS_THROUGH_DIRECT的使用对设备进行操作
- Hadoop2.7.5集群搭建