• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

GROUP BY 관련입니다. 이걸 모르니 진도가 넘어가지를 않네요

23.03.15 16:36 작성 조회수 408

0

안녕하세요, GROUP BY 함수 관련 질문입니다.

  1. GROUP BY SupplierID

    GROUP BY SupplierID 를 했을 때 SupplierID는 자동으로 중복이 제거가 된 뒤 평균가격이 반환되는 건가요?

     

  2. GROUP BY SupplierID, CategoryID 는 무슨 뜻인지 모르겠어요

SupplierID별 평균가격과 CategoryID별 평균 가격 이렇게 2개의 결과가 나와야 하는 건가요?

 

답변 1

답변을 작성해보세요.

0

SANGYEOP CHU님의 프로필

SANGYEOP CHU

2023.03.20

시간이 좀 지나서 혹시나 하지만
GROUP BY는 같은 값을 가지고 있는 행[컬럼]을 묶어줍니다.[그룹화]

묶어줄 뿐이지 평균 가격을 반환해 주지는 않습니다. 평균 가격을 가져오기 위해서는 avg() 함수를 사용합니다.

GROUP BY를 사용하실 때에는

SELECT [column...] FROM TABLE GROUP BY [column...]

SELECT 뒤에 실제 테이블에 있는 컬럼을 보기 위해 쓰셨으면 GROUP BY에 그대로 적어 주셔야 합니다.

SupplierID, CategoryID 가 나와야 해서 SELECT 뒤에 쓰셨고 GROUP BY 뒤에도 쓰시는 겁니다.

집계 함수로 만든 컬럼은 따로 안 써주셔도 됩니다.

SELECT supplierId, caregoryid, avg(price) <- supplierId, caregoryid는 실제 테이블에 있는 컬럼이고

avg는 평균을 내주는 집계 함수입니다.

간단하게 가상의 컬럼을 만든다고 생각해 주세요 만약 select * from 을 사용하셨으면
SELECT * FROM table group by id; [id라는 컬럼이 있다 치고] 이런식으로 적어주셔도 됩니다.
원하는 컬럼만 확인시에는 select 뒤에 다적어주시고 group by에도 동일하게 적어주세요