inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

UNION 해커랭크 문제풀이(난이도 상)

group by 질문입니다

339

anstmdcks12

작성한 질문수 3

0

group by를 할때

group by x, y 이렇게 x와 y 두개의 기준을 동시에 잡은 이유가

무엇인지 모르겠습니다

group by x 라고만 적어도 정답이라고 뜨던데요...

그이유를 모르겠습니다

sql

답변 1

1

지식공유자 J

...
WHERE X = Y
GROUP BY X, Y
HAVING COUNT(*) = 2

위 쿼리에서는 GROUP BY X로 해도 정답이 나오는 것이 맞습니다.
WHERE 절에서 X와 Y가 동일한 데이터만 추출하도록 조건을 걸어 X=1이면 무조건 Y도 1인 데이터만 남았기 때문입니다.

만약 (X, Y) = (1, 1)인 데이터가 5개, (1, 2)인 데이터가 3개 있다면
GROUP BY X, Y를 해 카운트를 하면 각각 (1, 1) 5개, (1, 2) 3개가 나오고
GROUP BY X를 해 카운트를 하면 Y를 고려하지 않고 그냥 8개가 되겠죠.

그런데 WHERE X =Y로 인해 (X, Y) = (1, 1)인 데이터만 5개 있는 상황이므로
GROUP BY X, Y를 하든 GROUP BY X를 하든 동일하게 카운트 값은 5개가 나옵니다.

0

anstmdcks12

답변 감사합니다!!

리트코드 1280. Students and Examinations

0

94

3

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

0

103

2

African Cities 문제관련 질문

0

65

1

SQL 코딩테스트 질문

0

235

1

HACKER RANK에서 문제찾기

0

109

2

강의 자료 다운로드

0

101

2

Asian population 문제가 없어요

0

88

2

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

0

77

2

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

0

88

2

rising temperature 문제 질문

0

108

2

해커랭크 TOP EARNERS 문제 질문

0

110

1

ON 뒤에 질문

0

106

2

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

0

211

3

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

1

213

2

CustomerID가 중복되서 나타나요

0

242

3

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

0

152

2

CASE WHEN 쿼리 오류 문의

1

342

3

CASE문제풀이 질문

0

133

1

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

0

141

1

Average Population 질문

0

143

1

Revising Aggregations - The Count Function 질문

0

110

1

Average Population of Each Continent 에대해서 질문

0

199

3

w3schools 에서 쿼리 작성 질문

0

166

1

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

0

332

1