【发布时间】:2015-05-29 16:01:25
【问题描述】:
我需要计算给定季度的月销售额。
这是我计算上一季度的代码。
set @quarter = datepart(QQ, getdate()) - 1
if @quarter = 0
begin
set @quarter = 4
set @year = datepart(year, getdate()) -1
end
else set @year = datepart(year, getdate())
这是我计算整个季度平均月销售额的代码。
SELECT TOP 5 d.sdealer_name, COUNT(c.icontract_id) / 3 as 'AverageMonthlySales'
FROM dealers d
INNER JOIN contracts c
ON c.sdealer_number = d.sdealer_number
WHERE (d.sdealer_number NOT LIKE '%demo%'
AND d.sdealer_status in ('A', 'R')
AND c.sagent_number = @sagent_number
AND c.sstatus in ('P', 'A', 'C', 'E')
AND c.iproduct_type_id in (4)
AND DATEPART(QQ, c.dtcontract_sale_date) = @quarter
AND DATEPART(year, c.dtcontract_sale_date) = @year)
GROUP BY d.sdealer_name
ORDER BY COUNT(distinct c.icontract_id) desc
如何动态计算给定季度每个月的总销售额?
【问题讨论】:
标签: sql sql-server