SQL 实现某时间段的统计业务

有一张错误上报表,下面只将与本文相关的字段罗列如下:上报人(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)

生成的结果图为:

时间: 2024-09-20 05:39:08

SQL 实现某时间段的统计业务的相关文章

SQL 实现某时间段的统计业务_MsSql

有一张错误上报表,下面只将与本文相关的字段罗列如下:上报人(ReportPerson).上报错误ID(ErrorID).上报时间(ReportTime).状态(State),其中值为0(未解决).1(已处理).2(已解决). 现在要做的是统计在某个时间段[beginTime,endTime](其中beginTime,endTime由前台进行传入)内,每个上报人上报错误点的总数以及已解决错误的总数. 复制代码 代码如下: select a.ReportPerson,a.sumOfError,b.s

在ASP中使用SQL语句之11:记录统计

统计|语句 确定数据库内有多少记录,或者确定有多少记录达到了某些标准,这些用ASP完成并非难事.如果你采用了正确的游标类型,你可以用RecordCount 属性获得记录数当然也可以用recordset.但是,有个更简单的办法,这就是在自己的SELECT语句中采用count(*) ,代码如下所示:SQL = "SELECT count(*) FROM Customers" 或者SQL = "SELECT count(*) FROM Customers WHERE c_lastn

SQL Server用触发器强制执行业务规则

Microsoft SQL Server 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器.触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效.唤醒调用触发器以响应 INSERT.UPDATE 或 DELETE 语句.触发器可以查询其它表,并可以包含复杂的 Transact-SQL 语句.将触发器和触发它的语句作为可在触发器内回滚的单个事务对待.如果检测到严重错误(例如,磁盘空间不足),则整个事务即自动回滚. 触发器的优点如下: 触发器可通过数据库中的相关

sql不重复的查找统计数据(经典)

例表如下: 表名:MYTEST TID    COL1    COL2     COL3 1           1           A            A2           1           A            A3           2           A            A4           2           B            A5           3           B            B6           3  

SQL语句技巧:按月统计数据_MsSql

表结构如下: qty date ---------------------------------------------- 13 2005/01/17 15 2005/01/19 3 2005/01/25 105 2005/01/27 1 2005/01/31 352 2005/02/03 12 2005/02/04 255 2005/02/07 6 2005/02/18 1 2005/02/19 28 2005/02/21 1 2005/02/22 394 2005/02/23 359 20

sql获取指定时间段数据的语句

 代码如下 复制代码  Function创建如下: USE [MSSQL] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[My_OneDay_GetWeekFirstAndEndDay](@tmpDate DATETIME) RETURNS  @tmpTable TABLE(FirstDay DATETIME , EndDay DATETIME) AS BEGIN     INSERT INT

ORACLE SQL调优之统计信息缺失导致的逻辑读暴增

    2016年11月8日,接到广西负责人申告,说决策系统一条SQL平时执行2s左右能执行完,现在却要执行2:30多才能出结果,请求对其做处理.     操作系统:RHEL LINUX 6.4     数据库版本:11.2.0.4     首先,登录服务器查看数据库服务器的状态: [oracle@orcl ~]$ free -m              total       used       free     shared    buffers     cached Mem:    

常用统计求和SQL语句示例

  SQL语句例一:求某一字段在某一时间段内数量的总和 表名 销售 字段有:编号 金额 统计这个表在某一时间段内金额的总和 select sum(金额) from 表 where 条件 SQL语句例二:SQL读出记录并统计出某一字段的总和 select * ,SUM(字段) from 表名 where 条件 group by 字段 SQL语句例三:SQL语句按每天.每月.每年统计出销售总额 表名: 订单 字段有Ordertime(订单时间),money(金额) 根据订单时间统计每天.每月.每年的

SQL Server 中统计信息直方图中对于没有覆盖到谓词预估以及预估策略的变化(SQL2012--&gt;SQL2014--&gt;SQL2016)

原文:SQL Server 中统计信息直方图中对于没有覆盖到谓词预估以及预估策略的变化(SQL2012-->SQL2014-->SQL2016)   本文出处:http://www.cnblogs.com/wy123/p/6770258.html    统计信息写过几篇了相关的文章了,感觉还是不过瘾,关于统计信息的问题,最近又踩坑了,该问题虽然不算很常见,但也比较有意思.相对SQL Server 2012,发现在新的SQL Server版本(2014,2016)中都有一些明显的变化,下文将对此