SELECT COUNT(*) FROM EMPLOYEE WHERE (SALARY*MONTHS)=MAX(SALARY*MONTHS)
我正在努力获得最高(工资*月(的员工人数。为什么我在没有分组的情况下也会出现这个错误?是我应该拥有的吗?
您收到此错误是因为MAX()
是一个聚合函数,所以MySQL通常需要GROUP BY
。
对于此逻辑,您可以使用子查询:
SELECT COUNT(*)
FROM EMPLOYEE e
WHERE (e2.SALARY * e2.MONTHS) = (SELECT MAX(e2.SALARY* e2.MONTHS) FROM EMPLOYEE e2);