创建一个有关事件发生次数的报告

时间:2016-01-14 18:56:59

标签: sql-server datetime

我需要从以下日期构建查询:

2015-01-01 01:05:15  
2015-01-01 01:07:17  
2015-01-01 07:09:18  
2015-01-01 07:12:41  
2015-01-02 04:06:15  
2015-01-02 04:15:15 

我需要有一个表格,其中每小时会有一列,每个月的每一天都有一行,其中会计算一小时内发生的事情的次数。

对于给定的例子,我将有这样的数据

2015-01-01|0|2|0|0|0|0|0|2|0|0|0|0|....  
2015-01-02|0|0|0|2|0|0|0|0|0|0|0|0|....
....  
....  

我感谢每一个建议。

2 个答案:

答案 0 :(得分:1)

首先,创建包含这24列的表格;类似的东西:

CREATE TABLE ROMPECABEZA
DATECOL DATETIME,
HOUR1 INT,
. . .
HOUR24 INT

然后,您需要执行一些操作并插入值,例如:

INSERT INTO ROMPECABEZA (DATECOL, HOUR1, ... HOUR24) VALUES (@DATECOLVAL, @HOUR1VAL, ..., @HOUR24VAL);

答案 1 :(得分:0)

你需要像这样创建表

Create Table EveryDay
(
  Day date,
  Hour0 int,
  Hour1 int,
  ...
  Hour23 int
)

然后创建一个将从日期列表中读取的查询,解析并转换它们,如果它不是一次性的话,则插入或更新。

使用分隔符解析SQL - SQL parse delimited string