首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >按季度计算月销售额

按季度计算月销售额
EN

Stack Overflow用户
提问于 2015-05-30 00:01:25
回答 1查看 201关注 0票数 0

我需要计算给定季度的月销售额。

这是我用来计算上一个季度的代码。

代码语言:javascript
代码运行次数:0
运行
复制
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())

下面是我的代码,用于计算整个季度的月平均销售额。

代码语言:javascript
代码运行次数:0
运行
复制
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

如何动态计算给定季度每个月的总销售额?

EN

回答 1

Stack Overflow用户

发布于 2015-05-30 06:25:14

ctrl+h ...只需将季度日期部分替换为月。有没有什么原因你还没试过?

代码语言:javascript
代码运行次数:0
运行
复制
set @month = datepart(month, getdate()) - 1

if @month = 0 
    begin
    set @month = 12
    set @year = datepart(year, getdate()) -1
    end
else set @year = datepart(year, getdate())

SELECT TOP 5 d.sdealer_name, COUNT(c.icontract_id) 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(month, c.dtcontract_sale_date) = @month 
  AND DATEPART(year, c.dtcontract_sale_date) = @year)
GROUP BY  d.sdealer_name
ORDER BY COUNT(distinct c.icontract_id) desc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30534081

复制
相关文章

相似问题

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