In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column 'dagp.asm_asmnt_solutn.asmnt_solutn_nm'; this is incompatible with sql_mode=only_full_group_by
时间: 2023-07-22 16:06:28 浏览: 86
这个错误消息表示在没有使用GROUP BY的聚合查询中,SELECT列表的第2个表达式包含了非聚合列 'dagp.asm_asmnt_solutn.asmnt_solutn_nm',这与sql_mode=only_full_group_by不兼容。
在这种情况下,你需要确保SELECT列表中的非聚合列要么被包含在GROUP BY子句中,要么使用聚合函数进行处理。只有这样才能符合sql_mode=only_full_group_by的要求。
你可以尝试将 'dagp.asm_asmnt_solutn.asmnt_solutn_nm' 列添加到GROUP BY子句中,或者使用聚合函数(如MAX、MIN、SUM等)对该列进行处理。这样就可以解决这个问题。
相关问题
In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column
在没有使用GROUP BY的聚合查询中,SELECT列表的第二个表达式包含了一个非聚合的列,这与sql_mode=only_full_group_by是不兼容的。通俗地讲,对于使用了GROUP BY的SELECT语句,查询出来的列必须是在GROUP BY后面声明的列,或者是在聚合函数中使用的列。如果在GROUP BY语句中使用了非法的列,就会出现这个错误。
In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column
当你在一个没有使用 GROUP BY 子句的聚合查询中,选择列表中的表达式包含了非聚合列时,你会遇到这个错误。这是因为在没有 GROUP BY 子句的情况下,选择列表中的每个表达式必须是一个聚合函数或者是在 GROUP BY 子句中列出的列。
要解决这个问题,你可以将非聚合列添加到 GROUP BY 子句中,或者使用聚合函数对这些非聚合列进行计算。以下是两种解决方法的示例:
1. 将非聚合列添加到 GROUP BY 子句中:
```
SELECT column1, column2, COUNT(*)
FROM 表名
GROUP BY column1, column2;
```
2. 使用聚合函数对非聚合列进行计算:
```
SELECT MAX(column1), SUM(column2), COUNT(*)
FROM 表名;
```
请根据你的需求选择适合的解决方法,并确保选择列表中的表达式符合聚合查询的要求。