pd.read_sql_query('''
SELECT date(payment_date),
sum(amount) as total_date,
avg(sum(amount)) over (order by date(payment_date)
RANGE BETWEEN INTERVAL '2' day PRECEDING AND INTERVAL '2' day FOLLOWING) rolling_7_days
FROM payment
WHERE payment_date BETWEEN '2005-07-01' AND '2005-09-01'
GROUP BY date(payment_date)
''', conn)
我用sqlite3对sakila.db做了测试,发现了这个问题:
': near "'2'": syntax error
按照说明操作,但不正常。https://support.workiva.com/hc/en-us/articles/360042534732-SQL-date-and-time-functions
1条答案
按热度按时间um6iljoc1#
正如您的错误消息正确指出为
syntax error
;RANGE BETWEEN INTERVAL
在sqlite for Window函数中不受支持。相反,您可以使用
BETWEEN
使用标准SQL语法以下将为您工作。