3

これらの行で毎日のデータの合計を取得しますか?

SELECT convert(varchar, okuma_tarihi, 102) as Gunler,SUM(toplam_kullanim_T1) as TotalUsageValue,'T1' as UsageType FROM TblSayacOkumalari
GROUP BY convert(varchar, okuma_tarihi, 102)
UNION ALL
SELECT convert(varchar, okuma_tarihi, 102) as Gunler,SUM(toplam_kullanim_T2) as TotalUsageValue,'T2' as UsageType FROM TblSayacOkumalari 
GROUP BY convert(varchar, okuma_tarihi, 102)
UNION ALL
SELECT convert(varchar, okuma_tarihi, 102) as Gunler,SUM(toplam_kullanim_T3) as TotalUsageValue,'T3' as UsageType FROM TblSayacOkumalari
GROUP BY convert(varchar, okuma_tarihi, 102)

毎週または毎月のデータの SUM を取得するにはどうすればよいですか? このトピックまたはコード例について、何か話題はありますか? MONTH(DATE)の代わりに書くconvert(varchar, okuma_tarihi, 102)と、たとえば、その月のすべてのデータの合計が表示されます。(2010 年 6 月の値 + 2011 年 6 月の値)。私はこれをしたくありません。MSSQL Server 2008 を使用しています。

ありがとう。

4

2 に答える 2

5

使用する

GROUP BY YEAR(<date_column_name>),MONTH(<date_column_name>) --for months

または

GROUP BY YEAR(<date_column_name>),DATEPART(wk,<date_column_name>) --for weeks
于 2012-07-11T12:51:15.147 に答える
0

なぜ3つの異なるステートメントを使用してから、すべてを結合するのですか? グループ化列は日付であり、同じであるため、これらは単一のステートメントで実行できます。行に。作業を 3 回ではなく 1 回だけ行うので、はるかに効果的です。大きなテーブルでは、パフォーマンスが大幅に向上する可能性があります。

年月ごとの合計については回答のみ

于 2012-07-14T13:32:19.453 に答える