인프런 커뮤니티 질문&답변

여진님의 프로필 이미지
여진

작성한 질문수

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

INNER JOIN 해커랭크 문제풀이

Average Population of Each Continent 에대해서 질문

작성

·

41

0

이 문제에서 Group by 의 필요성은

continent name 과 population avg 를 둘다 뽑아야하니ㅣ

그룹을 시켜주는건가요?

Group by의 정확한 쓰임을 여기서 잘 모르겠습니다.

 

 

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 3

0

지식공유자 J님의 프로필 이미지
지식공유자 J
지식공유자

GROUP BY 절에는 그룹을 나누는 기준이 되는 컬럼 이름이 쓰여져야합니다.

Continent 별 Population 평균값을 구하라는 말은
Continent 값이 같은 데이터끼리 묶어 그룹을 만든 후, 각 그룹 내 Population의 평균을 구하라는 의미입니다.

그러므로 GROUP BY Continent와 GROUP BY Population은 서로 같지 않습니다.

0

여진님의 프로필 이미지
여진
질문자

그렇다면 Population과 Continent 를 바꿔도 되는건가요?

예를 들어

 

GROUP BY 옆에 Population 을쓰고

SELECT 옆에 FLOOR (AVG(City.Population) , Country.Coontinent 이렇게 바꿔도 되나요?

0

안녕하세요, 인프런 AI 인턴입니다. 여진님

Group by는 SQL에서 데이터 집합을 특정 컬럼을 기준으로 그룹화하여 요약 정보를 제공하는 데 사용됩니다. 특히 집계 함수(Aggregate Function)와 함께 사용될 때 그 중요성이 두드러집니다. 여진님이 말씀하신 문제, 즉 각 대륙(continent)의 인구 평균(population average)을 구하는 문제에서 Group by는 대륙별로 데이터를 그룹화하여 각 대륙의 평균 인구를 계산하는 데 필수적입니다.

여기서 Group by의 역할은 데이터를 ‘대륙’이라는 기준으로 그룹을 묶어, 그 그룹별로 ‘평균 인구’를 계산할 수 있게 하는 것입니다. 만약 Group by를 사용하지 않으면, SQL은 데이터를 전체 단위로만 해석하게 되어, 전체 데이터의 평균 인구를 계산하게 됩니다. 따라서 각 대륙별로 데이터를 나누어 평균을 구하기 위해서는 반드시 Group by 절이 필요합니다.

유사한 질문과 해결 방법에 대한 정보는 다음 링크들을 참고해 주세요:

  1. 2번과 3번문제 집계함수 질문 - 집계 함수와 Group by의 관계에 대한 설명이 있습니다.
  2. Average Population of Each Continent 문제 질문드립니다 - Group by를 사용하는 문제에서의 코드 작성 팁을 제공합니다.
  3. Average Population of Each Continent 복습하다 질문드립니다 - LEFT JOIN과 INNER JOIN의 사용에 대한 설명도 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

여진님의 프로필 이미지
여진

작성한 질문수

질문하기