我的数据库中有一个int字段,代表2015年1月的201501代表年和月,我需要按report_date字段分组并显示季度数据。该表采用以下格式。Reporting_date是一个int字段而不是datetime并且interest_payment是浮动的
reporting_date interest_payment
200401 5
200402 10
200403 25
200404 15
200406 5
200407 20
200408 25
200410 10
查询的输出应如下所示
reporting_date interest_payment
Q1 -2004 40
Q2 -2004 20
Q3 -2004 40
Q4 -2004 10
我尝试使用普通的group by语句
select reporting_date , sum(interest_payment) as interest_payment from testTable
group by reporting_date
但输出的结果有所不同。任何帮助将不胜感激
谢谢
分组之前,您需要计算report_quarter,该值等于
(reporting_date%100-1)/3
然后选择
select report_year, 'Q'+cast(report_quarter+1 as varchar(1)), SUM (interest_payment)
from
(
select
*,
(reporting_date%100 - 1)/3 as report_quarter,
reporting_date/100 as report_year
from @x
) T
group by report_year, report_quarter
order by report_year, report_quarter
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句