这是我在MySQL中创建汇总表的方法,我如何在MS SQL 2008中做同样的事情?
我们的想法是创建一个只有日期(而不是时间)的汇总表,并总计每天每米的kWh。
CREATE table summary
SELECT meterID, date( DateTime ) AS date, sum( kWh ) AS kWh
FROM data GROUP BY meterID, date;"
答案 0 :(得分:2)
至于构建表,您的问题没有指定确切的数据类型。例如,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));