HAVING 子句中的列 'sc.Sno' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中 为什么会报错
时间: 2024-05-20 12:10:39 浏览: 137
MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究
这是因为在 SQL 中,如果 SELECT 语句中同时包含了聚合函数和非聚合函数的列,那么非聚合函数的列必须要被包含在 GROUP BY 子句中,否则会报错,提示无效列。
在这个错误中,'sc.Sno' 列没有被包含在 GROUP BY 子句中,但同时出现在了 HAVING 子句中,因此会提示该列无效。你需要将该列加入 GROUP BY 子句,或者将 HAVING 子句中的非聚合函数替换成聚合函数。
阅读全文