inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

GROUP BY & HAVING

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

623

sykb7000

작성한 질문수 8

0

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

  1. GROUP BY SupplierID

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

     

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

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

 

sql

답변 1

0

SANGYEOP CHU

시간이 좀 지나서 혹시나 하지만
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에도 동일하게 적어주세요

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

77

2

INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'

0

66

2

별칭 관련해서 질문 있습니다.

0

79

2

rising temperature 문제 질문

0

98

2

해커랭크 TOP EARNERS 문제 질문

0

99

1

ON 뒤에 질문

0

94

2

INNER JOIN 질문. 강의와 결과값이 다릅니다.

0

196

3

END, 뒤에 * 붙이면 에러가 뜹니다

1

203

2

CustomerID가 중복되서 나타나요

0

233

3

별칭이 전체 테이블을 못 불러와요.

0

142

2

CASE WHEN 쿼리 오류 문의

1

325

3

CASE문제풀이 질문

0

124

1

Customers Who Never Order 풀다가 Alias관련 질문사항

0

136

1

Average Population 질문

0

129

1

Revising Aggregations - The Count Function 질문

0

104

1

Average Population of Each Continent 에대해서 질문

0

193

3

w3schools 에서 쿼리 작성 질문

0

159

1

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

0

329

1