HAVING 절에 MAX()사용 결과에 따른 질문
5427
작성한 질문수 7
안녕하세요, 강사님.
덕분에 잘 배우고 있습니다.
GROUP BY 문제풀이 강의 중,
Top Earners 문제에서 아래 쿼리문을 만들었습니다.
SELECT salary * months AS earnings
, COUNT(*)
FROM employee
GROUP BY earnings
HAVING MAX(earnings);
HAVING 절에서 MAX() 사용하면 earnings 컬럼(?)에 있는
값 중 큰 값이 나오니까 ORDER BY은 필요 없다.라고 생각 했는데 결과를 보니 아니였습니다.
그래서
ORDER BY earnings DESC
LIMIT 1;
위 2 줄을 더 추가 했더니 PASS가 되었습니다.
여기서 질문은 HAVING MAX(earnings)에서 가장 큰 값 하나만 안나오는 이유가 무엇인가요?
감사합니다ㅡ
답변 1
1
안녕하세요!
HAVING 은 GROUP BY 에서 집계한 결과물을 가지고 filtering을 하는 장치로, earnings를 기준으로 집계한 COUNT(*)로 필터링을 할 수는 있지만 GROUP BY의 기준이 되는 컬럼인 earnings로 MAX(earnings) 와 같은 새로운 연산을 하는 기능은 없습니다.
감사합니다 :)
리트코드 1280. Students and Examinations
0
74
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
89
2
African Cities 문제관련 질문
0
53
1
SQL 코딩테스트 질문
0
206
1
HACKER RANK에서 문제찾기
0
96
2
강의 자료 다운로드
0
90
2
Asian population 문제가 없어요
0
76
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
66
2
별칭 관련해서 질문 있습니다.
0
79
2
rising temperature 문제 질문
0
98
2
해커랭크 TOP EARNERS 문제 질문
0
98
1
ON 뒤에 질문
0
94
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
196
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
203
2
CustomerID가 중복되서 나타나요
0
232
3
별칭이 전체 테이블을 못 불러와요.
0
142
2
CASE WHEN 쿼리 오류 문의
1
324
3
CASE문제풀이 질문
0
124
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
136
1
Average Population 질문
0
129
1
Revising Aggregations - The Count Function 질문
0
103
1
Average Population of Each Continent 에대해서 질문
0
193
3
w3schools 에서 쿼리 작성 질문
0
159
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
328
1





