[英]Create a table that groups observations with gaps in hours in a time series
我從MySQL表中名為“ mid”的外部系統接收一些能量數據。 數據應該每小時發送一次,但是有時系統無法工作,然后跳過一個小時,例如。 在以下示例中,沒有用於2014年8月13日10:00:00的數據,其中mid = 2。 我想創建一個表,該表標識所有缺少數據的“中間”-在此示例中,它將是一個中間= 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);
不得不着急去做,但是看看這個SQL Fiddle
本質上,創建一天中所有時間(任何日期)的參考表。 右鍵連接到它,然后拉出datehour_in具有空值的行。 然后拉出引用表所具有的時間,而您的源所沒有的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.