SQL 实现某时间段的统计业务
更新时间:2013年01月17日 11:15:05 作者:
有一张错误上报表,现在要做的是统计在某个时间段[beginTime,endTime](其中beginTime,endTime由前台进行传入)内,每个上报人上报错误点的总数以及已解决错误的总数,闲话不说,看代码
有一张错误上报表,下面只将与本文相关的字段罗列如下:上报人(ReportPerson)、上报错误ID(ErrorID)、上报时间(ReportTime)、状态(State),其中值为0(未解决)、1(已处理)、2(已解决)。
现在要做的是统计在某个时间段[beginTime,endTime](其中beginTime,endTime由前台进行传入)内,每个上报人上报错误点的总数以及已解决错误的总数。
select a.ReportPerson,a.sumOfError,b.solvedError
from(select COUNT(ErrorID) as sumOfError,ReportPerson
from PCR_ConstructInfo
where
(ReportTime>beginTime) and (ReportTime<endTime) group by ReportPerson)
a left join
(select ReportPerson,COUNT(ErrorID) as solvedError
from PCR_ConstructInfo
where (State=2) and (ReportTime>beginTime) and (ReportTime<endTime) group by ReportPerson) b
on (a.ReportPerson=b.ReportPerson)
生成的结果图为:
现在要做的是统计在某个时间段[beginTime,endTime](其中beginTime,endTime由前台进行传入)内,每个上报人上报错误点的总数以及已解决错误的总数。
复制代码 代码如下:
select a.ReportPerson,a.sumOfError,b.solvedError
from(select COUNT(ErrorID) as sumOfError,ReportPerson
from PCR_ConstructInfo
where
(ReportTime>beginTime) and (ReportTime<endTime) group by ReportPerson)
a left join
(select ReportPerson,COUNT(ErrorID) as solvedError
from PCR_ConstructInfo
where (State=2) and (ReportTime>beginTime) and (ReportTime<endTime) group by ReportPerson) b
on (a.ReportPerson=b.ReportPerson)
生成的结果图为:
相关文章
sqlserver合并DataTable并排除重复数据的通用方法分享
网上合并DataTable通用方法的文章很多,结合项目开发中的常用需求,并借鉴网上的做法,写了一个合并DataTable的通用方法,主要功能是合并两个DataTable(结构可以不同,如字段不完全一致),并可以根据某一列值进行排重处理2011-12-12
解析SQL Server CDC配合Kafka Connect监听数据变化的问题
这篇文章主要介绍了SQL Server CDC配合Kafka Connect监听数据变化,除了数据库开启CDC支持以外,主要还是要将变更的数据通过Kafka Connect传输数据,Debezium是目前官方推荐的连接器,本文给大家分享实现步骤,感兴趣的朋友跟随小编一起看看吧2021-12-12
SQL Server中row_number分页查询的用法详解
这篇文章主要介绍了SQL Server中row_number的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07


最新评论