创建一个表格,对时间序列中以小时为单位的差距进行分组

时间:2014-08-14 13:36:23

标签: mysql sql

我从MySQL表中名为“mid”的外部系统收到一些能量数据。数据应该每小时传输一次,但有时系统不工作,然后跳过一个小时,例如。在下面的示例中,2014-8-13 10:00:00中间= 2没有数据。我想创建一个表来识别所有缺少数据的“mid” - 在这个例子中,这将是一个mid = 2和datehour_in = 2014-8-13 10:00:00的表。

-- this is how my table looks like;
create table kwh_in(mid int, datehour_in datetime, kwh int);
-- these are some example values;
insert into kwh_in values(1,'2014-8-13 08:00:00', 52);
insert into kwh_in values(1,'2014-8-13 09:00:00', 51);
insert into kwh_in values(1,'2014-8-13 10:00:00', 47);
insert into kwh_in values(2,'2014-8-13 09:00:00', 28);
insert into kwh_in values(2,'2014-8-13 08:00:00', 31);
insert into kwh_in values(2,'2014-8-13 11:00:00', 32);

1 个答案:

答案 0 :(得分:1)

不得不赶紧去做,但要看看这个SQL Fiddle

基本上,创建一个包含一天(任何日期)所有小时的参考表。右键连接到它然后拉出datehour_in具有空值的行。然后拉出参考表所具有的时间但你的来源没有。