inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

INNER JOIN 해커랭크 문제풀이

2번과 3번문제 집계함수 질문

331

[SQL 실전반 4기] 코차

작성한 질문수 10

0

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

 

2. population census SELECT SUM(city.population) FROM city INNER JOIN country ON city.countrycode = country.code WHERE continent = 'Asia' 집계함수를 쓰면 groupby를 써야한다고 했는데 왜 여기선 groupby를 안썼나요?

 

3. average population of each continent

 

SELECT country.continent

, FLOOR(AVG(city.population))

FROM city

INNER JOIN country ON city.countrycode = country.code

-- GROUP BY country.continent

group by를 안쓸경우 아래와 같은 에러코드가 나오는데 

ERROR 1140 (42000) at line 1: In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'country.continent'; this is incompatible with sql_mode=only_full_group_by

 

이게 select문에 집계함수와 집계함수아닌 컬럼이있을때 groupby로 select에 있는 집계함수가 아닌 컬럼을 적어야 한다는 뜻인가요?

 

만약에 맞다면 select문에 그냥 집계함수만 있을경우에는 group by를 안적어도 괜찮은 건가요?

 

sql

답변 1

1

데이터리안

안녕하세요 gmlwls627님
집계함수의 용법은 크게 두가지가 있습니다.

1. 전체 데이터를 요약

2. 특정 컬럼의 값들로 그룹핑 된 값에 대해 각 그룹별 요약

1번 용법이 첫번째 질문에서 문의하신 SELCT에서 집계함수만 사용하는 경우에 해당하고, 2번의 경우가 두번째 질문에서 문의해주신 GROUP BY를 사용하는 경우 입니다.

집계 함수는 말 그대로 데이터를 요약, 집계하여 보여주는 함수이기 때문에 전체 데이터에 대한 요약(SELECT 절에 집계함수만 사용하는 경우)도 가능하고 GROUP BY와 함께 사용하여 각 그룹의 특정 값에 대해 요약을 해주는 것(GROUP BY와 함께 집계함수를 사용하는 경우)도 가능하다고 생각하시면 좋을 것 같습니다.

궁금증이 해결되셨길 바랍니다!

리트코드 1280. Students and Examinations

0

86

3

16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문

0

100

2

African Cities 문제관련 질문

0

64

1

SQL 코딩테스트 질문

0

228

1

HACKER RANK에서 문제찾기

0

107

2

강의 자료 다운로드

0

98

2

Asian population 문제가 없어요

0

85

2

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

0

74

2

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

0

87

2

rising temperature 문제 질문

0

102

2

해커랭크 TOP EARNERS 문제 질문

0

109

1

ON 뒤에 질문

0

104

2

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

0

208

3

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

1

212

2

CustomerID가 중복되서 나타나요

0

240

3

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

0

149

2

CASE WHEN 쿼리 오류 문의

1

334

3

CASE문제풀이 질문

0

131

1

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

0

141

1

Average Population 질문

0

140

1

Revising Aggregations - The Count Function 질문

0

108

1

Average Population of Each Continent 에대해서 질문

0

196

3

w3schools 에서 쿼리 작성 질문

0

161

1

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

0

331

1