【发布时间】:2014-07-31 15:38:02
【问题描述】:
我目前正在尝试编写一个 select 语句,该语句在单个列中计算年度总和。
我面临的问题是有几种不同的付款频率,例如我必须将每月金额乘以 12 才能得到年度、季度乘以 4、半年度乘以 2 等等。
我在下面写了一个声明来执行此操作,但是它要求我按频率和数量字段进行分组,这会产生不希望的结果。
select (case when Frequency='month' then SUM(cast(Amount as decimal(10,2))*12)
else (case when Frequency='quarter' then SUM(cast(Amount as decimal(10,2))*4)
else (case when Frequency='year' then SUM(cast(Amount as decimal(10,2))*1)
else (case when Frequency='six months' then SUM(cast(Amount as decimal(10,2))*2) end)
end)
end) end) as 'Total Annual Amount'
from Table group by Frequency
我知道就解决这个问题而言,我可能会找错树,但以上是我得到的最接近的结果。
希望我的描述已经足够详细,如果您需要我进一步详细说明,请告诉我
【问题讨论】:
-
你能展示一些示例数据和预期结果吗?
标签: sql