我的问题:我的桌子上有价格和日期。我需要有最近7天的平均价格。 例如:我有今天,昨天,30天前,43天前的价格,等等。我需要的不是过去7天的平均价格,而是过去7天的平均价格。
我的代码:
SELECT AVG(price)
FROM table
GROUP BY date
ORDER BY date DESC LIMIT 7
但是我每天有7个平均价格。 也许有人有另一个主意
答案 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