您的位置:首页技术开发数据库技巧 → SQL技巧:创建用来按小时报告的查询

SQL技巧:创建用来按小时报告的查询

时间:2004/12/2 0:59:00来源:本站整理作者:蓝点我要评论(0)

要创建一个可以每个小时报告的查询,首先要创建一个表格。该表格一列记录日期,而没有时间信息;另一列记录钟点。下面的表格有一列记录了不同的处理类型。例如,我们可以按小时找出处理类型的总数。 



CREATE TABLE test

(StartTime DATETIME NOT NULL

DEFAULT CURRENT_TIMESTAMP,

StartDate DATETIME NOT NULL

DEFAULT CONVERT(DATETIME, CONVERT(CHAR(10),CURRENT_TIMESTAMP, 110)),

StartHour INT NOT NULL

DEFAULT DATEPART(hh,CURRENT_TIMESTAMP),

TranType INT NOT NULL

CONSTRAINT ck_TranType CHECK ( TranType IN



1, -- insert

2, -- update

3, -- delete

)

DEFAULT 1

)

GO 

接下来,插入test的数据来模拟一个可能的样本。



INSERT test (StartTime, TranType) VALUES (CURRENT_TIMESTAMP, 3)

INSERT test (StartTime, TranType) VALUES (CURRENT_TIMESTAMP, 2)

INSERT test (StartTime, TranType) VALUES (CURRENT_TIMESTAMP, 3)

GO



DECLARE @hr int

SET @hr = DATEPART(hh, DATEADD(hh,-1,CURRENT_TIMESTAMP) )



INSERT test (StartTime, TranType, StartHour) _

  VALUES (DATEADD(hh,-1,CURRENT_TIMESTAMP), 3, @hr)

INSERT test (StartTime, TranType, StartHour) _

  VALUES (DATEADD(hh,-1,CURRENT_TIMESTAMP), 1, @hr)

INSERT test (StartTime, TranType, StartHour) _

  VALUES (DATEADD(hh,-1,CURRENT_TIMESTAMP), 2, @hr)

GO 



然后用一个查询来找出按日和小时的处理总数。



SELECT StartDate tran_day,

StartHour tran_hour

, CASE trantype WHEN 1 THEN 'insert'

WHEN 2 THEN 'update'

WHEN 3 THEN 'delete'

ELSE 'unknown'

END trantype,

COUNT(*) tran_total

FROM

Test

GROUP BY

StartDate,

StartHour

,trantype

ORDER BY StartDate, StartHour

COMPUTE SUM(COUNT(*)) BY StartDate, StartHour

GO

 

去掉test可以清空test表格。



DROP TABLE test

GO 


相关阅读 Mac和Windows哪个好 windows和mac os对比介绍Win10预览版怎么升级 Win10预览版升级方法厂商不再预装Win7或8.1系统,驱动人生帮您快速升级Mac移动硬盘安装win8 Mac将win装在移动硬盘使用教程windows10xboxone串流简单教程Windows Hello怎么用 Windows Hello使用设置教程win10怎么关闭自动更新 win10如何关闭自动更新Mac系统如何远程桌面到Windows系统

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 mssql企业管理器不能打 Oracle PRKC-1002错误原因和解决方案SQL SERVER数据库日志清空图文教程win2003计算机改名后sql server 2005 本地复DB2错误信息码大全

人气排行 彻底解决mysql中文乱码的办法mysql数据库root密码忘记的修改方法SQL SERVER数据库日志清空图文教程.bak备份文件如何恢复Oracle PRKC-1002错误原因和解决方案Oracle错误代码大全如何将txt的文本数据导入SQL server 2005呢DB2错误信息码大全