次のセットアップ:SQL SUMおよびGROUP BY(MS SQL)
PredDate WtSumLoc
2017-02-16 00:00:00.000 1360.139000
2017-02-16 00:00:00.000 399.444000
2017-02-28 00:00:00.000 400.000000
2017-02-28 00:00:00.000 8231.046000
2017-02-28 00:00:00.000 400.000000
2017-03-01 00:00:00.000 1118.055000
2017-04-15 00:00:00.000 400.000000
2017-04-15 00:00:00.000 2488.699000
2017-04-28 00:00:00.000 1555.556000
2017-04-28 00:00:00.000 1555.252000
2017-06-30 00:00:00.000 432.704000
私は合計しようとすると、グループこの表で行うことによって:
SELECT
MONTH(PredDate) 'Month',
sum(WtSumLoc) as 'sum'
FROM Table
GROUP BY PredDate
ORDER BY Month
と私は、次の結果が得られます。
Month sum
2 1759.583000
2 9031.046000
3 1118.055000
4 2888.699000
4 40.000000
4 3110.808000
6 432.704000
なぜグループ化されていないのですか?この40.000はどこから来ますか?
select "Month", sum(WtSumLoc) as 'sum'
from
(
SELECT MONTH(PredDate) 'Month', WtSumLoc
FROM Table
) dt
GROUP BY "Month"
ORDER BY Month
ANSI SQLは、識別子を区切るために二重引用符を使用して、例えば: