在 mysql 中,我正在计算不同时间间隔(3 天、7 天、30 天、60 天等)内相同指标的平均值,并且我需要将结果放在每个id
.
目前,我每个间隔都使用一个 Join 。鉴于我必须为许多不同的商店计算这个,并且在几个不同的时间间隔内,有没有更清洁和/或更有效的方法来完成这个?
下面是我目前正在使用的代码。
在此先感谢您的帮助
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
...