我的问题:我有价格和日期的表。我需要有最近7天的平均价格。例如:我有今天,昨天,30天前,43天前的价格,等等。我需要的不是过去7天的平均价格,而是过去7天的平均价格。
我的代码:
SELECT AVG(price)
FROM table
GROUP BY date
ORDER BY date DESC LIMIT 7
但是我每天有7个平均价格。
也许有人有另一个主意
最佳答案
使用子查询获取现有的最近7天,获取最早的日期,然后对该表进行join
。
SELECT AVG(price)
FROM table AS t1
JOIN (SELECT MIN(dateday) AS mindate
FROM
(SELECT DATE(date) AS dateday
FROM table
GROUP BY dateday
ORDER BY dateday DESC LIMIT 7
) AS x
) AS t2
ON t1.date >= t2.mindate
关于mysql - 如何从现有的最近7天中选择数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52390637/