gpt4 book ai didi

MySQL 1064 语法错误找不到错误

转载 作者:行者123 更新时间:2023-11-29 02:01:09 24 4
gpt4 key购买 nike

有人可以帮我解决这个 sql 查询吗?它给了我一个 1064 错误,提示我的查询中有语法错误。我已经查找了 2 个多小时的错误,现在感到很沮丧。

SELECT 
SUM(IF( (`date` >= DATE_SUB(?, INTERVAL 6 MONTH)) AND (`date` < DATE_SUB(?, INTERVAL 5 MONTH)), earnings, 0)) AS Rev5,
SUM(IF( (`date` >= DATE_SUB(?, INTERVAL 5 MONTH)) AND (`date` < DATE_SUB(?, INTERVAL 4 MONTH)), earnings, 0)) AS Rev4,
SUM(IF( (`date` >= DATE_SUB(?, INTERVAL 4 MONTH)) AND (`date` < DATE_SUB(?, INTERVAL 3 MONTH)), earnings, 0)) AS Rev3,
SUM(IF( (`date` >= DATE_SUB(?, INTERVAL 3 MONTH)) AND (`date` < DATE_SUB(?, INTERVAL 2 MONTH)), earnings, 0)) AS Rev2,
SUM(IF( (`date` >= DATE_SUB(?, INTERVAL 2 MONTH)) AND (`date` < DATE_SUB(?, INTERVAL 1 MONTH)), earnings, 0)) AS Rev1,
SUM(IF( (`date` >= DATE_SUB(?, INTERVAL 1 MONTH)) AND (`date` < ?), earnings, 0)) AS Rev0
FROM
hat_adsense_stats
GROUP BY
domain
ORDER BY
domain

这里是错误的感谢:

Error Code: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, INTERVAL 1 MONTH)) AND (date < ?), earnings, 0)) as Rev0 FROM hat_adsens' at line 2

最佳答案

您的查询中有参数占位符,它不适用于纯 sql。唯一一次 ? 工作是在您创建 Dynamic SQL 时。

如果您使用的查询不是动态 SQL,您应该为其提供一个值。

消除语句语法错误的例子是创建一个用户变量,例如

SET @date = CURDATE();
SELECT
SUM(IF( (`date` >= DATE_SUB(@date, INTERVAL 6 MONTH)) AND (`date` < DATE_SUB(@date, INTERVAL 5 MONTH)), earnings, 0)) AS Rev5,
SUM(IF( (`date` >= DATE_SUB(@date, INTERVAL 5 MONTH)) ........

关于MySQL 1064 语法错误找不到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14440457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com