of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column
时间: 2023-09-28 15:06:41 浏览: 161
引用中也提到了同样的错误。引用中的错误信息也是类似的,表示SELECT列表中的表达式不在GROUP BY子句中,并且包含了非聚合的列。
根据这些引用信息,出现这个错误的原因是在查询语句中使用了GROUP BY子句,但是ORDER BY子句中的列不是在GROUP BY子句中,并且包含了非聚合的列。解决这个错误的方法是确保ORDER BY子句中的列在GROUP BY子句中,并且所有非聚合的列也在GROUP BY子句中。另外,你也可以通过更改sql_mode的值来解决这个问题。
相关问题
Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column
这是一个 SQL 错误,通常是因为在 GROUP BY 子句中没有包含 ORDER BY 子句中的所有列,或者 SELECT 子句中包含了未在 GROUP BY 子句中出现的列。解决方法是要么将 ORDER BY 子句中的列添加到 GROUP BY 子句中,要么将 SELECT 子句中的列删除或添加到 GROUP BY 子句中。
1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column
这个错误通常在使用MySQL数据库时出现,它表示在GROUP BY子句中的列与SELECT子句中的列不匹配。具体来说,如果SELECT子句中包含未在GROUP BY子句中列出的列,则会出现此错误。解决此问题的一种方法是将SELECT子句中的所有列都包含在GROUP BY子句中,或者使用聚合函数(例如SUM,AVG,COUNT等)来计算未在GROUP BY子句中列出的列。另外,如果你使用的是MySQL 5.7.5或更高版本,则默认启用了ONLY_FULL_GROUP_BY SQL模式,该模式要求GROUP BY子句中的所有列都必须出现在SELECT子句中,或者是聚合函数的参数。如果你想禁用此模式,可以在MySQL配置文件中设置sql_mode参数。
阅读全文