gpt4 book ai didi

mysql - 将以前的平均值与当前平均值进行比较

转载 作者:行者123 更新时间:2023-11-30 22:51:53 24 4
gpt4 key购买 nike

我有如下表格:

Date | Person | Amount_Spent
42500 A 100
42499 A 90
42498 A 95

我想要一个查询,它可以获取当前日期(存储为 excel 日期)并向人们显示在给定日期(在本例中为 42500)所花费的金额之间的差异,即 100 和最后 3 个的平均值天(即 42500 >= x >= 42498)例如,即 95 大于一定数量,即 2。

在这个例子中输出应该是:

Person
A

请确保解决方案能够应对会有多个不同的人,有些人也不会每天都花,所以查询应该只对平均窗口中的值进行平均,我想它应该将 GROUP BY 作为一种将人们分组在一起的方式。

谢谢!

最佳答案

让我们把它分成两部分:

  1. 计算给定日期的 AVG:

    SELECT AVG(Amount_Spent) FROM table_name WHERE DATE IN (42500, 42499, 42498);

  2. 检索所有符合条件的人:

    从表名中选择人日期在 (42500, 42499, 42498)AND Amount_Spent >= (SELECT AVG(Amount_Spent) FROM table_name WHERE DATE IN (42500, 42499, 42498));

这假设日期存储为整数,并且您希望根据日期的子集计算平均值。仅检索在这些日期花费的金额高于平均金额的人。

关于mysql - 将以前的平均值与当前平均值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27948620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com