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
...