【代码报错】请问这样写,为什么报错Error: WHERE clause cannot contain window functions!
由bqd17wit创建,最终由small_q 被浏览 28 用户
\
import dai
dai.query("""
select date,instrument,open,close,price_limit_status,
m_lag(price_limit_status,1),m_lag(price_limit_status,2),m_lag(price_limit_status,3),
m_lead(price_limit_status,1),m_lead(price_limit_status,2),m_lead(price_limit_status,3)
from cn_stock_factors_base
where price_limit_status=3
AND m_lag(price_limit_status,1)=3 AND m_lag(price_limit_status,2)=3 AND m_lag(price_limit_status,3)=3
AND date>'2023-01-01'
order by date,instrument
""")
想从cn_stock_factors_base中查询数据,
但是报错:InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result Error: Binder Error: WHERE clause cannot contain window functions!
请问老师,是m_lag 和m_lead 函数用错了吗?
想提取:当日涨停,前一日涨停,前2日涨停,前3日涨停的股票,在未来1天,2天的涨跌停涨停状态
再请问老师, m_lag(时间序列上 arg 向下偏移 n 行后的值),是取未来值吗? 时间向下,1月1日向下就是1月2日, 那这个函数就是向未来取值吗? 但实际上又感觉不对
\