首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL是否获取月度/周数据总和?

SQL是否获取月度/周数据总和?
EN

Stack Overflow用户
提问于 2012-07-11 20:42:03
回答 2查看 12K关注 0票数 3

我用这些行得到每日总和的数据?

代码语言:javascript
复制
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。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-11 20:51:15

使用

代码语言:javascript
复制
GROUP BY YEAR(<date_column_name>),MONTH(<date_column_name>) --for months

代码语言:javascript
复制
GROUP BY YEAR(<date_column_name>),DATEPART(wk,<date_column_name>) --for weeks
票数 5
EN

Stack Overflow用户

发布于 2012-07-14 21:32:19

为什么你使用3个不同的语句,然后联合所有。这些可以在单个语句中完成,因为您的分组列是date和same.However,唯一的问题是,您将获得一行,所有3个sum作为列,而不是3个rows.But。您可以使用unpivot将列转换为行。这会更有效,因为你只需要做一次工作,而不是3个times.On,一个大的表,这可能是很大的性能改进。

关于按年和月计算的金额,仅有答案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11432910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档