如何从现有的最近7天中选择数据?

时间:2018-09-18 16:08:09

标签: mysql sql

我的问题:我的桌子上有价格和日期。我需要有最近7天的平均价格。 例如:我有今天,昨天,30天前,43天前的价格,等等。我需要的不是过去7天的平均价格,而是过去7天的平均价格。

我的代码:

SELECT AVG(price) 
FROM table 
GROUP BY date  
ORDER BY date DESC LIMIT 7

但是我每天有7个平均价格。 也许有人有另一个主意

2 个答案:

答案 0 :(得分:1)

使用filename = "2020_Super_Baseball_usa.jpg" title = "2020 Super Baseball" def string_cleaner(string_one): '''filter non alpha chars from filename''' new_string = "" for char in string_one: if char.isalnum(): #checking if string_one character if alphanumeric new_string = new_string + char elif char == '_': new_string = new_string + " " return new_string temp = string_cleaner(filename[:-7]) #print(temp) #check output of string_cleaner function if temp.lower().lstrip().rstrip() == title.lower().lstrip(): print("match") 函数和子查询

avg

答案 1 :(得分:1)

使用子查询获取最近的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