inflearn logo
강의

Course

Instructor

[A hundred words are not as good as seeing once] Advanced SQL for data analysis

Solving Subquery HackerRank Problems

해커랭크 Top Earners 질문!

313

joyee3421331

7 asked

0

안녕하세요! 해커랭크 Top Earners 문제에 관해 질문드리겠습니다.

 

where 절에 서브쿼리를 사용할 때,

select salary*months as earnings, count(*)

from employee

where salary*months = (select max(salary*months) from employee)

 

위의 코드를 작성했을때 group by 없이는 집계함수를 사용할 수 없다는 오류가 뜨는데,

 

select count(*)

from employee

where salary*months = (select max(salary*months) from employee)

 

select 에 count만 출력했을 때는 문제 없이 코드가 실행됩니다!

count 단독으로 출력할 때는 전체 갯수만 파악하지만 salary*months 까지 같이 출력할 때는 해당 salary*months에 맞게 count를 해야해서 집계함수를 사용해야 하는 걸까요?

어짜피 max값만 가져와서 출력하는데도 group by를 꼭 사용해야 하는걸까요?

 

sql

Answer 1

0

jaemin

count 단독으로 출력할 때는 전체 갯수만 파악하지만 salary*months 까지 같이 출력할 때는 해당 salary*months에 맞게 count를 해야해서 집계함수를 사용해야 하는 걸까요?
-> 맞습니다. select 절에 집계함수(count)와 집계함수가 아닌 컬럼이 같이 들어갈 경우, 컬럼을 기준으로 묶은 그룹마다 집계를 하는 것이 됩니다.
group by를 사용하고 싶지 않다면 두번째 쿼리처럼 작성하시면 됩니다.

순위 함수 연습 문제 - 스테디셀러 작가 찾기

0

99

1

문제 내용이 잘못된 것 같습니다.

0

72

2

서브쿼리 질문

0

74

2

[수업질문] 서브쿼리 > null데이터 avg사용 주의

0

84

1

서브쿼리는 언제 작성하는건가요?

0

85

1

안녕하세요 질문드립니다.

0

71

2

Top Earners 문제관련 질문

0

100

2

고급반 cheetsheet

0

164

2

196. Delete Duplicate Emails 좋은 코드 질문

0

145

1

a.id = 1과 b.id=1이 없어도 되는 이유

0

133

0

강의 플랫폼

0

203

3

리트코드 177번 function 풀이중 case when 활용을 위한 서브쿼리 구문을 제출 시 검증에 통과되지 않도록 보강된 듯 하네요

0

213

2

ERD 읽는법에 추가 질문 있어요

0

258

1

lead, lag로 풀이할 시 id 값이 존재하지 않는 경우의 오답

0

368

2

사용자정의함수

0

233

1

이 문제 inner join이 이해가 안됩니다.

0

302

1

평균 함수 사용할 때 주의점과 해결법

0

266

1

196. subquery로 풀 때, 궁금한 점

0

391

2

쿼리성능 질문드립니다.

0

318

1

리트코드 highest department salary 문제

0

264

2

The report 문제 order by부분 질문

0

272

2

리트코드 서브쿼리 문제 질문

0

423

1

DEPARTMENT HIGHEST SALARY 서브쿼리 문제 문의

0

243

1

서브쿼리의 활용사례 및 조인관련질문

0

292

1