230208
최대 수입(months*salary)과 그 수입을 가진 직원의 수 구하기
아니 왜 WITH문이 안 써지는 거야?
뭐 할 때마다 오류난다
SELECT MAX(earnings), COUNT(*) count
FROM (
SELECT name
, months*salary earnings
FROM Employee
) earn
GROUP BY earnings
ORDER BY count DESC
LIMIT 1
뭔가 돌아간 느낌이라면 내 착각일까
.
.
맞다 뭐한거지
서브쿼리 왜 쓴건지 모르겠다. 서브쿼리쓰고 싶어서 썼는데 order by랑 limit쓸 꺼였으면 안써도 됐다.
서브쿼리빼고 그 자리에 Employee써서 좀만 고치면 돌아갈 듯
SELECT MAX(months*salary), COUNT(*) count
FROM Employee
GROUP BY months*salary
ORDER BY count DESC
LIMIT 1
이렇게...ㅎ
--WHERE절 서브쿼리 이용
SELECT months*salary earnings
, COUNT(*) count
FROM Employee
WHERE months * salary = (SELECT MAX(months*salary FROM Employee)
GROUP BY earnings
--HAVING절 서브쿼리 이용
SELECT months*salary earnings
, COUNT(*) count
FROM Employee
GROUP BY earnings
HAVING earnings = (SELECT MAX(months*salary FROM Employee)
서브쿼리를 쓰려면 where이나 having처럼 조건에 썼어야됐었다.