inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2번 문제 풀이

set 1번 2번 문제 입니다.

188

rbfl0623

작성한 질문수 1

2

안녕하세요 강사님 강의 잘 듣고 있습니다!

set 1번의 2번 문제의 해석을 듣는 중 

{

inner join hackers as h on h.hacker_id = t.hacker_id

group by h.hacker_id, h.name

having total_score != 0

order by total_score desc, h.hacker_id

}

부분에서 왜 group by시 h.name도 포함되는 모르겠습니다

h.hacker_id와 h.name은 각각 하나씩 연결되었음으로 h.name이 없어도 실행 되어야 할 것 같습니다.

또한 h.name을 제거하였을때 error가 발생하였는데 왜 발생하는지도 모르겠습니다.

좋은 강의 올려주셔서 감사합니다

sql

답변 1

2

지식공유자 J

GROUP BY을 할 경우 SELECT 절에는 그룹을 묶는 기준이 되는 컬럼과, 다른 컬럼의 집계값만 쓸 수 있습니다. 

이 문제를 푸는 쿼리의 SELECT 절은 다음과 같은데요.

SELECT h.hacker_id, h.name, SUM(score_max) total_score

만약 GROUP BY 절에서 h.name을 제외한다면 이런 식으로 SELECT 절에서 h.name을 집계한 값을 써 주어야 합니다.

SELECT h.hacker_id, MIN(h.name), SUM(score_max) total_score

말씀하신대로 hacker_id 와  name이 1:1로 연결되어 있으므로 집계함수는 MIN, MAX, AVG 등 무엇을 사용하든 같은 값이 출력됩니다.

0

rbfl0623

이해되었습니다!

감사합니다!

강의기간 연장문의

0

107

2

HackerRank : Weather Observation Station 11 문제풀이

0

123

1

SET4의 3번 자리바꾸기 문제 다른 풀이

0

197

1

set 3의 3번 문제- 데이터의 개수가 짝수일 때 질문

0

276

2

set 1 - 2번 문제풀이

0

268

1

세트2번 Binary Tree Nodes 질문입니다!

0

231

2

고급문제풀이set1 3번 문제

0

255

2

고급문제풀이 3번 INNERJOIN 활용시 오류

0

274

1

회사일하다 보니까 다 못듣고 수강기간이 다끝나가는데 .,. 수강기간 연장은 어떻게 할수 있나요?ㅜㅜ

0

324

1

[Weather 20 ] 2번째 쿼리도 따라 했는데 왜 다 실패일까요?

0

382

1

[Weather 20] 따라 했는데 왜 작동 안해요?

0

283

1

weather-20 왜 작동 안하는건가요?

0

233

1

Ollivander's Inventory 윈도우 함수 min() over

0

319

1

LeetCode 626. Exchange Seats 리트코드 제출 오류

0

510

2

섹션4에 3번 문제풀이 질문

0

386

2

SQL Project Planning 풀이 관련 문의

0

589

2

섹션 1번 4번문제 풀이

1

290

1

섹션1 2번 문제풀이 강의

0

308

1

set2 - 1 같게 작성했는데 답이 이상합니다.

0

289

1

max함수를 써서 풀지는 못하나요?

0

306

1

윈도우 함수를 이용해서 풀고 싶어서 써봤습니다. 더 간단하게 줄일 수 있을까요?

0

265

1

(Hacker Rank)Binary Tree 문제 질문

0

329

1

쿼리 두개로 작성하고 싶지 않아 하나로 어떻게든 만들어 봤습니다.

0

298

1

이런 풀이는 왜 안되는지 궁금해요

0

279

1