咨询:域名主机客服!261689845 建站:网站建设请点我!173022933 推广:网站推广请点我!452936608 销售:域名主机客服309128758 客户体验 | 售后平台 | 代理加盟 | 客户口碑

 

SQL技巧:创建用来按小时报告的查询 - 新闻中心 - 南宁巨人网络
SQL技巧:创建用来按小时报告的查询
时间:2013/3/2 9:38:33    来源:南宁巨人网络    浏览次数:342次
【字体大小:    】    【温馨提示:双击可滚动页面,单击则停止滚动。】

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

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

  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

        



关于我们 | 网站公告 | 参观机房 | 合作伙伴 | 代理合作 | 付款方式 | 法律声明 | 常见问题 | 在线留言 | 服务监督 | 联系我们 | 南宁网站建设
 
地址:广西南宁市广西大学正门左侧火炬路17号金达花园7栋2单元241室  邮编:530001  
业务邮箱:    技术邮箱:   财务邮箱:
在线服务空间域名:网站推广请点我!261689845 网站建设:网站建设请点我!309331800 网站推广:网站推广请点我!452936608 售后技术支持:网站推广请点我!309128758
代理合作:网站推广请点我!173022933 全国业务客服电话:0771-3824424  找巨人?  到巨人?
版权所有南宁市巨人网络 未经授权,禁止使用 中华人民共和国备案编号 :桂ICP备06014082号