これは、MySQL で集計テーブルを作成する方法ですが、MS SQL 2008 で同じことを行うにはどうすればよいですか?
アイデアは、日付のみ (時間ではない) を含み、1 日あたりの各メーターの kWh を合計した要約テーブルを作成することです。
CREATE table summary
SELECT meterID, date( DateTime ) AS date, sum( kWh ) AS kWh
FROM data GROUP BY meterID, date;"
これは、MySQL で集計テーブルを作成する方法ですが、MS SQL 2008 で同じことを行うにはどうすればよいですか?
アイデアは、日付のみ (時間ではない) を含み、1 日あたりの各メーターの kWh を合計した要約テーブルを作成することです。
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));