【问题标题】:12 months rolling data from previous month in sqlsql中上个月的12个月滚动数据
【发布时间】:2013-10-06 03:35:02
【问题描述】:

我想找到按 12 个月滚动平均值计算的提供商组的总成本。

SELECT 
        sum(AEBill.[TotalCost])
        ,AEEnc.ProviderID
                ,AEEnc.Date
        INTO #TotalCostAccuteCareAE
        FROM EncDetail AEEnc
        INNER JOIN [EncBilling] as AEBill
        ON  AEBill.[SK_EncID] = AEEnc.[SK_EncID]    
            AND AEBill.ProviderID = AEEnc.ProviderID
                WHERE AEEnc.Date <= reportDate
        GROUP BY AEBill.ProviderID

此查询仅选取小于或等于报告日期的所有记录的总和。但我想要从给定月份开始 12 个滚动月份的平均成本。

【问题讨论】:

  • 确实使用 SUM 的 AVG
  • 什么 RDMS?我假设它是 SQL Server..?

标签: sql


【解决方案1】:

看看这个问题SQL Server: Get data for only the past year

SELECT 
    AVG(AEBill.[TotalCost])
    ,AEEnc.ProviderID
            ,AEEnc.Date
    INTO #TotalCostAccuteCareAE
    FROM EncDetail AEEnc
    INNER JOIN [EncBilling] as AEBill
    ON  AEBill.[SK_EncID] = AEEnc.[SK_EncID]    
        AND AEBill.ProviderID = AEEnc.ProviderID
            WHERE AEEnc.Date <= DATEADD(year,-1,GETDATE())
    GROUP BY AEBill.ProviderID

【讨论】:

  • 不客气。请记住,这使用“一年”而不是“12 个月”,这可能不是您想要的,具体取决于您请求的预期边界。 (“过去 12 个月”可能意味着排除当前的)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 2022-08-02
  • 2019-01-04
  • 1970-01-01
  • 2021-02-11
  • 1970-01-01
相关资源
最近更新 更多