微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL 比较运算符 Python) 我无法通过 python 文件对 SQL 查询执行比较运算符

如何解决SQL 比较运算符 Python) 我无法通过 python 文件对 SQL 查询执行比较运算符

sql = "WITH comparing_price AS (SELECT CODE,DATE,OPEN,high,low,close,volume,"\
                "LEAD(OPEN,1) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd1_open',2) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd2_open',3) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd3_open',"\
                "LEAD(high,1) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd1_high',2) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd2_high',3) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd3_high',4) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd4_high',"\
                "LEAD(low,1) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd1_low',2) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd2_low',3) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd3_low',"\
                "LEAD(close,1) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd1_close',2) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd2_close',3) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd3_close',"\
                "LEAD(volume,1) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd1_volume',2) OVER (PARTITION BY CODE ORDER BY DATE) AS 'd2_volume',"\
                "AVG(close) OVER (PARTITION BY CODE ORDER BY DATE,DATE ROWS BETWEEN 2 preceding AND 2 following) AS 'd2_MA5',DATE ROWS BETWEEN 7 preceding AND 2 following) AS 'd2_MA10',DATE ROWS BETWEEN 17 preceding AND 2 following) AS 'd2_MA20',DATE ROWS BETWEEN 57 preceding AND 2 following) AS 'd2_MA60',DATE ROWS BETWEEN 117 preceding AND 2 following) AS 'd2_MA120',"\
                "STD(close) OVER (PARTITION BY CODE ORDER BY DATE,DATE ROWS BETWEEN 17 preceding AND 2 following) AS 'd2_std'"\
            "FROM daily_price)"\
        "SELECT * "\
        "FROM comparing_price"\
        "WHERE "\
            "volume > 1 AND d1_volume > 1 AND d2_volume > 1"
execute(sql)

然后我收到一条错误消息:

pyMysqL.err.ProgrammingError: 
(1064,"You have an error in your sql Syntax; 
check the manual that corresponds to your MariaDB server version for the right Syntax to use near 
'> 1 AND d1_volume > 1 AND d2_volume > 1' at line 1")

我认为问题与通过 execute() 发送比较运算符有关,因为在 Heidisql 中直接运行此查询时它工作正常。或者有什么其他想法为什么它可能不起作用?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。