inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL

GROUP BY 해커랭크 문제풀이

HAVING 절에 MAX()사용 결과에 따른 질문

5427

타뮤직

작성한 질문수 7

2

안녕하세요, 강사님.
덕분에 잘 배우고 있습니다.

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)에서 가장 큰 값 하나만 안나오는 이유가 무엇인가요?

감사합니다ㅡ

having sql max

답변 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