inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

해커랭크 Top Earners 관련 질문 드립니다

142

데잇걸즈4기_박유빈

작성한 질문수 10

0

안녕하세요:)

해커랭크 Top Earners 관련 질문 드립니다!

-문제: 해커랭크 Top Earners

-질문: 아래쿼리에서 왜 에러가 나는지, MAX와 관련이 있는건지 궁금합니다.

-오답:

SELECT employee_id,
       name,
       MAX(months * salary) AS total_earnings
FROM employee

정답은 강의를 통해 알고 있는데, 위 쿼리에서 어떤 부분이 문제인지 궁금합니다ㅎㅎ

감사합니다!

sql

답변 1

0

이보민

안녕하세요 박유빈님

MYSQL에서 COUNT, SUM, MIN, MAX, AVG와 같은 aggregation function은 용법이 2가지 입니다.

  1. 전체 데이터의 요약값을 확인할 경우
    ex) SELECT COUNT(*) FROM ...
  2. GROUP BY와 함께 사용하는 경우
    ex) SELECT column, COUNT(id) FROM ... GROUP BY column ...

즉, 위와 같은 aggregation function은 데이터의 요약 값을 구하기 위해 동작하는 함수이므로 어떤 범위 내에서 요약을 해줄 것인지 그 기준이 되는 범위가 반드시 필요합니다. 그 범위는 전체이거나 쿼리 작성자가 GROUP BY에 기입해주는 값이 되며, 해당 기준 범위의 데이터 내에서 요약된 값이 추출되게 됩니다.

따라서 전달주신 코드는 그 자체로 MAX() 함수의 용법에 맞지 않아 구동되지 않게 됩니다.

또 궁금한 점 있으시면 답글 납겨주세요 :)

리트코드 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

65

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

192

3

w3schools 에서 쿼리 작성 질문

0

158

1

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

0

328

1