我如何基于期间和年份对SQL中过去6个月的销售进行平均?

时间:2017-08-08 17:41:38

标签: sql sql-server

如何在SQL中平均过去6个月的销售额?

以下是我的表格和字段:

IM_ItemWhseHistoryByPeriod.FISCALCALPERIOD,
IM_ItemWhseHistoryByPeriod.FISCALCALYEAR, 

我需要平均这些字段

IM_ItemWhseHistoryByPeriod.DOLLARSSOLD, 
IM_ItemWhseHistoryByPeriod.QUANTITYSOLD,

我所遇到的困难是了解如何平均最后整整6个月,即。 fsicalcalperiod 2-6(2017年财政年度内)。

我希望在SQL命令文本的外观方面提供一些帮助,因为我在UI之外操作SQL非常新。

Sample Data

我现有的SQL字符串:

SELECT IM_ItemWhseHistoryByPeriod.ITEMCODE,
IM_ItemWhseHistoryByPeriod.DOLLARSSOLD, 
IM_ItemWhseHistoryByPeriod.QUANTITYSOLD, 
IM_ItemWhseHistoryByPeriod.FISCALCALPERIOD, 
IM_ItemWhseHistoryByPeriod.FISCALCALYEAR
FROM MAS_AME.dbo.IM_ItemWhseHistoryByPeriod
IM_ItemWhseHistoryByPeriod

ScaisEdge Attempt #1

2 个答案:

答案 0 :(得分:0)

如果fiscalyear和fiscalperiod是数字,你可以使用

  select avg(IM_ItemWhseHistoryByPeriod.DOLLARSSOLD) , 
        avg(IM_ItemWhseHistoryByPeriod.QUANTITYSOLD) 
  from my_table 
  where IM_ItemWhseHistoryByPeriod.FISCALCALYEAR   = 2017
  and IM_ItemWhseHistoryByPeriod.FISCALCALPERIOD between 2 and 6 

或每个项目代码

  select itemcode, avg(IM_ItemWhseHistoryByPeriod.DOLLARSSOLD) , 
        avg(IM_ItemWhseHistoryByPeriod.QUANTITYSOLD) 
  from my_table 
  where IM_ItemWhseHistoryByPeriod.FISCALCALYEAR   = 2017
  and IM_ItemWhseHistoryByPeriod.FISCALCALPERIOD between 2 and 6 
  group by itemcode

答案 1 :(得分:0)

尝试以下解决方案,看看它是否适合您:

select avg(DOLLARSSOLD) as AvgDollarSod, 
        avg(QUANTITYSOLD) as AvgQtySold
  from IM_ItemWhseHistoryByPeriod
  where FISCALCALYEAR   = '2017
  and FISCALCALPERIOD between 2 and 6