我正在按照以下链接解决 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)
但它抛出了一些语法错误。你知道为什么吗?
试试这个:
SELECT MAX(salary*months), COUNT(*)
FROM Employee
WHERE (salary*months) = (SELECT MAX(salary*months) FROM Employee);