首页  >  问答  >  正文

查询计算每个季度的平均值

我是 MySQL 新手,需要你的帮助来找出一个查询,以便我可以计算每个季度的平均值。 我有一个名为 USretail92_21 的表,如下所示(从 1992 年到 2021 年):

日期 销售额
1992-01-01 701.0
1992-02-01 658.0
1992-03-01 731.0
1992-04-01 816.0
1992-05-01 856.0
1992-06-01 853.0
1992-07-01 101.0
1992-08-01 558.0
1992-09-01 431.0

考虑日期格式 1992-01-01 表示 1992 年 1 月。现在我运行以下查询来获取季度和月份:

选择年份(日期)为年份,月份名称(日期)为月份,季度(日期)为季度,销售额来自 USretail92_21,其中 kind="男装店" order by 1 这给了我这样的观点:

季度 销售额
1992 一月 1 701.0
1992 二月 1 658.0
1992 三月 1 731.0
1992 四月 2 816.0
1992 五月 2 856.0
1992 六月 2 853.0

现在我向您提出的问题是如何获得每季度的平均销售额并获得如下所示的输出:

季度 平均销售额
1 1992 696(一月/二月/三月平均)
2 1992 841

最终,我想用 Python 绘制一个图表,将销售额视为 Y 轴,将“Q1_92 到 Q4_21”视为 X 轴

P粉521697419P粉521697419264 天前374

全部回复(1)我来回复

  • P粉788765679

    P粉7887656792024-01-30 09:01:32

    您需要使用 GROUP BY 来计算总和和平均值等聚合。

    根据您的示例进行工作:

    WITH SalesPerMonth AS (
      select year(date) as Year,
      monthname(date)as Month, 
      quarter(date) as Quarter, 
      sales from USretail92_21 
      where kind="Men's clothing stores" 
    )
    SELECT Quarter, Year, AVG(Sales) AS AverageSales
    FROM SalesPerMonth 
    GROUP BY Quarter, Year

    或者一次性完成所有操作:

    select year(date) as Year,
           quarter(date) as Quarter, 
           AVG(sales) AverageSales
    from USretail92_21 
    where kind="Men's clothing stores"
    group by year(date),
             quarter(date)

    回复
    0
  • 取消回复