错误代码:1055。SELECT 列表的表达式 #1 不在 GROUP BY 子句中

问题描述 投票:0回答:1

从db_hr.employee中选择* 工资在哪里 > ( 选择平均(工资) 来自 db_hr.employee ) 按工资分组;

查询有什么问题?它给了我一个错误:

错误代码:1055。SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含非聚合列“db_hr.employee.id”,该列在功能上不依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by

不兼容

我正在尝试显示工资超过平均工资的员工数据,并按工资对其进行分组

sql mysql database mysql-workbench sql-query-store
1个回答
0
投票

您似乎只想查找工资高于平均水平的员工的记录。如果是这样,那么

GROUP BY
子句就是多余的。删除它,并使用这个版本:

SELECT *
FROM db_hr.employee
WHERE salary > (SELECT AVG(salary) FROM db_hr.employee);
© www.soinside.com 2019 - 2024. All rights reserved.