SQL Server - 获取去年平均值,当前年度月平均值和当前年度总平均值

问题描述 投票:-1回答:1

我在SQL Server中运行一个简单的查询来获取按月分组的当前年度平均值,因此它返回12行。我需要在第一行中输入去年的TOTAL平均值,在最后一行中输入当前年份的TOTAL平均值,因此它将变为14行。

current result

这是我的查询:

SELECT 
    COUNT(*) AS mes 
FROM 
    WorkOrder 
WHERE 
    workOrderSource = '02'  
    AND YEAR(workOrderDate) = 2018 
    AND conclusionDate IS NULL 
GROUP BY 
    MONTH(workOrderDate);

我应该如何传递动态年份,并在过去和当前年度总计中将2个额外行添加到我的查询中?

结果应该有14行;第一行是去年的平均值,最后一行,将是当年的平均总数

sql sql-server
1个回答
1
投票

试试这种方式:

  SELECT COUNT(*) AS mes, null
    FROM WorkOrder 
    WHERE workOrderSource = '02'  
      AND YEAR(workOrderDate) = 2018
      AND conclusionDate IS NULL 
    UNION ALL 
    SELECT COUNT(*), MONTH(workOrderDate)
    FROM WorkOrder 
    WHERE workOrderSource = '02' 
      AND YEAR(workOrderDate) = 2019
      AND conclusionDate IS NULL 
    GROUP BY ROLLUP(MONTH(workOrderDate))
    ORDER BY COALESCE(MONTH(workOrderDate), 13)
© www.soinside.com 2019 - 2024. All rights reserved.