inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

GROUP BY 해커랭크 문제풀이

해커뱅크 top earners 질문

260

헤아

작성한 질문수 5

3

안녕하세요, 해커뱅크 top earners 문제와 관련하여 질문드려요.

----------------------------------------------------

SELECT months*salary AS earnings

    , count(earnings) -- 여기에 earnings를 카운트하고 싶어서 이렇게 넣었는데 자꾸 오류가 나더라구요, 왜 그런가요?

FROM employee

GROUP BY earnings

ORDER BY earnings DESC

LIMIT 1

----------------------------------------------------

----------------------------------------------------

SELECT MAX(months*salary) AS earnings, COUNT(earnings)

FROM employee

-- 이건 제가 짠 코드인데, 에러 이유를 잘 모르겠어요! 1) 맥스 연봉을 earnings라고 하고, 2) 그 값을 찾고 3) 그 값을 가진 사람들이 몇 명인지 카운트를 하면 될 것 같은데 에러가 뜨더라구요. 혹시 설명해주실 수 있나요?

----------------------------------------------------

감사합니다!

sql

답변 2

1

윤선미

헤아님, 안녕하세요!

1) MAX 연봉을 earnings라고 정의를 잘 해주셨어요.
2) 하지만, 이 MAX 연봉을 정보로 해서 데이터를 필터링 하는 부분을 생략하셨습니다.

헤아님의 아이디어대로 문제를 풀기 위해서는 서브쿼리라는걸 약간 사용해야 하는데요.
서브쿼리가 중급반 내용이 아니라 약간 어려우실 수 있지만 예시를 적어드릴게요.

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

이렇게 쿼리 안에 쿼리를 넣어서, 최대 earnings를 가지는 사람들을 WHERE절에서 필터링을 해 준 후 카운트 함수를 사용하시면 됩니다 :) 서브쿼리가 사용법이 약간 복잡해서, 고급반에서 다루려고 하고요. GROUP BY를 사용해서 푸시는게 가장 직관적인 풀이라고 생각해요.

0

헤아

빠른 답변 감사드립니다! 답변 읽고 생각을 좀 해보니 이해가 가네요 :)

리트코드 1280. Students and Examinations

0

75

3

16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문

0

89

2

African Cities 문제관련 질문

0

54

1

SQL 코딩테스트 질문

0

206

1

HACKER RANK에서 문제찾기

0

97

2

강의 자료 다운로드

0

90

2

Asian population 문제가 없어요

0

77

2

INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'

0

68

2

별칭 관련해서 질문 있습니다.

0

79

2

rising temperature 문제 질문

0

98

2

해커랭크 TOP EARNERS 문제 질문

0

99

1

ON 뒤에 질문

0

95

2

INNER JOIN 질문. 강의와 결과값이 다릅니다.

0

196

3

END, 뒤에 * 붙이면 에러가 뜹니다

1

204

2

CustomerID가 중복되서 나타나요

0

234

3

별칭이 전체 테이블을 못 불러와요.

0

142

2

CASE WHEN 쿼리 오류 문의

1

325

3

CASE문제풀이 질문

0

125

1

Customers Who Never Order 풀다가 Alias관련 질문사항

0

138

1

Average Population 질문

0

130

1

Revising Aggregations - The Count Function 질문

0

104

1

Average Population of Each Continent 에대해서 질문

0

193

3

w3schools 에서 쿼리 작성 질문

0

159

1

INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?

0

329

1