为什么 MAX(salary*months) 和 WHERE 子句在这里不起作用

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

我正在按照以下链接解决 hackerrank SQL 问题:

https://www.hackerrank.com/challenges/earnings-of-employees/problem?isFullScreen=true

问题1我在下面写了代码片段

SELECT MAX(salary*months), COUNT(*) 
FROM Employee 

但它已返回

count()
为 23 或 24 之类的东西。你知道为什么吗? 肯定的是,它应该返回显示为
MAX(salary*months)
的行数。

问题2 使用我提到的where子句后:

SELECT MAX(salary*months), COUNT(*) 
FROM Employee 
WHERE (salary*months) = MAX(salary*months)

但它抛出了一些语法错误。你知道为什么吗?

mysql select where-clause max
1个回答
0
投票

试试这个:

SELECT MAX(salary*months), COUNT(*) 
FROM Employee 
WHERE (salary*months) = (SELECT MAX(salary*months) FROM Employee);
© www.soinside.com 2019 - 2024. All rights reserved.