【发布时间】:2018-09-18 16:08:09
【问题描述】:
我的问题:我有价格和日期的表格。我需要有过去 7 天的平均价格。 例如:我有今天、昨天、30 天前、43 天前等的价格。我需要的不是过去 7 天的平均值,而是过去 7 天的平均值。
我的代码:
SELECT AVG(price)
FROM table
GROUP BY date
ORDER BY date DESC LIMIT 7
但是我每天有 7 个平均价格。 也许有人有其他想法
【问题讨论】:
-
日期类型是
date还是datetime?如果是datetime,您可以尝试使用 CAST 将日期转换为日期。 -
您使用的是哪个DBMS? “SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加标签
postgresql、oracle、db2、sql-server、... -
我用mysql。日期类型没有问题。我可以改变。
-
也许
SELECT AVG(price) FROM table WHERE (SELECT AVG(price) FROM table GROUP BY date ORDER BY date DESC LIMIT 7)应该可以工作? -
没有。
#1242 - Subquery returns more than 1 row