0

我有一张有 4 列的桌子。HouseNo,日期,时间和温度。

我设法在单独的表格中获得了不同的 HouseNos。现在我想插入所有房屋号码的所有日期。


表中的样本数据。像这样的行有几百万行。

HouseNo Date Time Temp
102 1/1/2010 10:00 67
102 2/1/2010 10:00 73
102 3/1/2010 10:00 75
103 1/1/2010 10:00 69
103 2/1/2010 10:00 63
104 1/1/2010 10:00 71
104 2/1/2010 10:00 12

预期输出是

表格1

102 1/1/2010 
102 2/1/2010 
102 3/1/2010

表 2

103 1/1/2010 
103 2/1/2010

表3

104 1/1/2010 
104 2/1/2010

然后我希望能够遍历派生表中的每一行以对温度场执行一些操作。

4

2 回答 2

0

如果您每天有一对 ON/OFF 并且 OFF 总是在 ON 之前,那么这将为您提供持续时间。

SELECT 
HouseNo,  
Date, 
DATEDIFF(s,
   MIN(CASE WHEN Relay='OFF' THEN Time ELSE NULL END),
   MIN(CASE WHEN Relay='ON' THEN Time ELSE NULL END)
) As OffDuration
FROM YourTable
GROUP BY HouseNo,  Date

但是任何正常的现实生活数据集都会有多个 ON/OFF 对。你能提供更多细节吗?

于 2013-04-17T07:43:10.350 回答
-1

像这样的东西?

    CREATE TABLE new_table
    AS (SELECT * FROM old_table);

你也可以放一些 WHERE 部分和 SELECT

于 2013-04-17T07:35:27.733 回答