Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 无分组依据的聚合查询中出现错误1140(42000),表达式1_Mysql_Sql - Fatal编程技术网

Mysql 无分组依据的聚合查询中出现错误1140(42000),表达式1

Mysql 无分组依据的聚合查询中出现错误1140(42000),表达式1,mysql,sql,Mysql,Sql,我的问题来自 以下是输入数据: 问题要求查找最大收入月数*工资和具有最大收入的行的总数 我的尝试是: select distinct salary*months, count(*) from employee where salary*months = (select max(salary*months) from employee) 这给了我一条错误消息: 第6行出现错误114042000:在没有分组依据的聚合查询中,选择列表的表达式1包含未聚合列“run_byli4vf7yqz.emplo

我的问题来自

以下是输入数据:

问题要求查找最大收入月数*工资和具有最大收入的行的总数

我的尝试是:

select distinct salary*months, count(*)
from employee
where salary*months = (select max(salary*months) from employee)
这给了我一条错误消息:

第6行出现错误114042000:在没有分组依据的聚合查询中,选择列表的表达式1包含未聚合列“run_byli4vf7yqz.employee.salary”;这与sql\u mode=only\u full\u group\u by不兼容`

有什么建议说明我失败的原因吗?

不要使用“选择不同”:

信息非常清楚。您有count*,因此您的查询是聚合查询。但是,您有一个未聚合的列,所以MySQL很困惑:您是否想要聚合?因此出现了错误

您也可以这样写:

select (e.salary * e.months), count(*)
from employee e
group by (e.salary * e.months)
order by (e.salary * e.months) desc
limit 1;
不要使用“选择不同项”:

信息非常清楚。您有count*,因此您的查询是聚合查询。但是,您有一个未聚合的列,所以MySQL很困惑:您是否想要聚合?因此出现了错误

您也可以这样写:

select (e.salary * e.months), count(*)
from employee e
group by (e.salary * e.months)
order by (e.salary * e.months) desc
limit 1;