这就是我在 MySQL 中创建汇总表的方式,如何在 MS SQL 2008 中做同样的事情?
这个想法是创建一个只有日期(没有时间)的汇总表,并且已经汇总了每天每米的千瓦时。
CREATE table summary
SELECT meterID, date( DateTime ) AS date, sum( kWh ) AS kWh
FROM data GROUP BY meterID, date;"
这就是我在 MySQL 中创建汇总表的方式,如何在 MS SQL 2008 中做同样的事情?
这个想法是创建一个只有日期(没有时间)的汇总表,并且已经汇总了每天每米的千瓦时。
CREATE table summary
SELECT meterID, date( DateTime ) AS date, sum( kWh ) AS kWh
FROM data GROUP BY meterID, date;"
至于构建表格,您的问题没有指定确切的数据类型。例如 kWh 只是一个 int 或者如果有一个小数部分。但是,尝试猜测它会是这样的。
CREATE Table summary
(
meterID int,
YourDate date,
kWh int /* or maybe a decimal(9,2) or something like that */
)
然后剩下的就和mysql很接近了,只是换了一个Cast来做转换。你也可以使用convert但我一直更喜欢 Cast 的语法。
INSERT INTO summary (meterID, YourDate, kWh)
(SELECT meterID, Cast(YourDateTime AS Date) AS YourDate, sum( kWh ) AS kWh
FROM data GROUP BY meterID, Cast(YourDateTime AS Date));