인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

gina27313님의 프로필 이미지
gina27313

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스

GROUP BY

GROUP BY 질문

작성

·

216

1

GROUP BY 강의 제일 마지막 예문에서

질문을 좀 바꾸어 각각의 년도에서 가장 많은 홈런을 친 팀을 추출하려면 어떤 문법을 이용해야 하나요?

답변 1

2

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

다양한 방법으로 구할 수 있는데
나중에 나오는 Subquery, Join 등을 응용해서도 구할 수 있고
SQL은 아주 간단할 것 같지만,
조금만 요구사항을 바꾸면 의외로 까다로워지는 경우가 많습니다.
단일 쿼리로 만들기가 복잡하다면
임시 테이블을 만들면서 단계적으로 만드는 것도 괜찮은데
예를 들어 다음과 같은 스텝으로 만들 수 있습니다.

1)
단일 년도에 가장 많은 홈런을 날린 팀을 구하는 문제에서

SELECT teamID, yearID, SUM(HR) as homeRuns
FROM batting
GROUP BY teamID, yearID;

을 이용해 [년도/팀 별 총 홈런 개수]를 구한 상태입니다.

2)
1에서 구한 결과물을 임시 테이블에다 넣은 후,
다시 가공해서 [년도별 최고 팀 홈런 개수]를 구합니다.

SELECT yearID, MAX(homeRuns)
FROM Temp_Table
GROUP BY yearID;

3)
1, 2의 결과물을 Join해서 teamID, yearID, homeRuns를 구한다.

위는 하나의 예이고 다양한 방법이 존재할 수 있습니다.

gina27313님의 프로필 이미지
gina27313

작성한 질문수

질문하기