gpt4 book ai didi

mysql - 计算不同时间间隔的平均值

转载 作者:行者123 更新时间:2023-11-29 05:30:42 25 4
gpt4 key购买 nike

在 mysql 中,我正在计算不同时间间隔(3 天、7 天、30 天、60 天等...)内相同指标的平均值,并且我需要每个 id 将结果放在一行中。

目前,我在每个时间间隔都使用一个连接。鉴于我必须为许多不同的商店计算这个,并且在几个不同的时间间隔内,是否有更清洁和/或更有效的方法来完成这个?

下面是我目前使用的代码。

在此先感谢您的帮助

SELECT T1.id, T1.DailySales_3DayAvg, T2.DailySales_7DayAvg
FROM(
SELECT id, avg(DailySales) as 'DailySales_3DayAvg'
FROM `SalesTable`
WHERE `Store`=2
AND `Date` >= DATE_SUB('2012-07-28', INTERVAL 3 DAY)
AND `Date` < '2012-07-28'
) AS T1

JOIN(
SELECT id, avg(DailySales) as 'DailySales_7DayAvg'
FROM `SalesTable`
WHERE `Store`=2
AND `Date` >= DATE_SUB('2012-07-28', INTERVAL 7 DAY)
AND `Date` < '2012-07-28'
) AS T2

ON T1.ArtistId = T2.ArtistId

结果在哪里:

  id   DailySales_3DayAvg   DailySales_7DayAvg
3752 1234.56 1114.78
...

最佳答案

您可以使用这样的查询 -

SELECT
id,
SUM(IF(date >= '2012-07-28' - INTERVAL 3 DAY, DailySales, 0)) /
COUNT(IF(date >= '2012-07-28' - INTERVAL 3 DAY, 1, NULL)) 'DailySales_3DayAvg',

SUM(IF(date >= '2012-07-28' - INTERVAL 7 DAY, DailySales, 0)) /
COUNT(IF(date >= '2012-07-28' - INTERVAL 7 DAY, 1, NULL)) 'DailySales_7DayAvg'
FROM
SalesTable
WHERE
Store = 2 AND Date < '2012-07-28'
GROUP BY
id

关于mysql - 计算不同时间间隔的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15140152/

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