我用这些行得到每日总和的数据?
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)如何才能获得每周或每月的数据总和?关于这个主题或代码示例有什么特别的地方吗?例如,当我编写MONTH(DATE)而不是convert(varchar, okuma_tarihi, 102)时,它会显示该月的所有数据和。(2010年6月值+2011年6月值)。我不想这样。我使用MSSQL Server 2008。
谢谢。
发布于 2012-07-11 20:51:15
使用
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-14 21:32:19
为什么你使用3个不同的语句,然后联合所有。这些可以在单个语句中完成,因为您的分组列是date和same.However,唯一的问题是,您将获得一行,所有3个sum作为列,而不是3个rows.But。您可以使用unpivot将列转换为行。这会更有效,因为你只需要做一次工作,而不是3个times.On,一个大的表,这可能是很大的性能改进。
关于按年和月计算的金额,仅有答案
https://stackoverflow.com/questions/11432910
复制相似问题