MySQL 错误:HAVING 在此位置无效,需要 EOF,';'

Posted

技术标签:

【中文标题】MySQL 错误:HAVING 在此位置无效,需要 EOF,\';\'【英文标题】:MySQL error: HAVING is not valid at this position, expecting EOF, ';'MySQL 错误:HAVING 在此位置无效,需要 EOF,';' 【发布时间】:2021-12-28 21:35:28 【问题描述】:

我在这个特定的行中遇到了这个问题:

SELECT city, SUM(credit_limit) AS total_limit 
FROM table 
GROUP BY city 
ORDER BY total_limit 
HAVING SUM(credit_limit) < 110000;

可能是一个愚蠢的错误,但我在这里没有看到语法问题。

【问题讨论】:

HAVING 介于 GROUP BYORDER BY 之间。 你为什么不阅读documentation? SQL 对事物的顺序非常严格。尽管看起来无关紧要,但您必须按照规范说明的顺序放置所有内容。 谢谢,看起来订单确实不会改变任何东西,我还在学习 【参考方案1】:

选择城市,SUM(credit_limit) AS total_limit 从表 按城市分组 ORDER BY total_limit WHERE SUM(credit_limit)

【讨论】:

您需要将 HAVING 更改为 WHERE 以过滤结果

以上是关于MySQL 错误:HAVING 在此位置无效,需要 EOF,';'的主要内容,如果未能解决你的问题,请参考以下文章

语法错误:“)”在此位置无效,需要 EOF ,';'

“in”在此位置无效[重复]

"LEFT" 在此位置无效,应为 ';' - SQL过程

“from”在此位置无效,期待:EOF,“;” [复制]

代码分析VS2012 - 位置0的方法类型参数无效

limit where group by having select