시작하기무료로 시작하기

한눈에 보는 SQL (2)

데이터베이스에서 자주 하는 작업 중 하나는 집계입니다. 즉, 데이터를 여러 덩어리로 나눠 각 덩어리를 요약하는 거예요.

SQL에서는 GROUP BY 명령으로 이를 수행합니다. 이 명령은 데이터를 그룹으로 나누고, SELECT 문에 지정한 함수를 각 그룹에 적용합니다.

예를 들어, 두 출발지(origin)별 항공편 수를 세고 싶다면 다음 쿼리를 사용할 수 있어요.

SELECT COUNT(*) FROM flights
GROUP BY origin;

GROUP BY origin은 출력 결과에 origin 열의 고유 값마다 한 행씩 포함하라고 SQL에 알려줍니다. SELECT 문은 각 열에 채울 값을 선택하죠. 여기서는 각 그룹의 모든 행을 COUNT() 하려는 겁니다.

하나 이상의 열로 GROUP BY 하는 것도 가능합니다. 이렇게 하면 결과 테이블에는 각 열의 고유 값 조합마다 한 행이 생깁니다. 다음 쿼리는 SEA와 PDX에서 각 도착 공항으로 향한 항공편 수를 셉니다:

SELECT origin, dest, COUNT(*) FROM flights
GROUP BY origin, dest;

출력에는 origindest 값의 모든 조합(즉, 항공편이 운항한 모든 출발지-도착지 쌍)마다 한 행이 포함됩니다. 또한 각 그룹의 모든 행을 COUNT() 한 값을 담은 열도 생깁니다.

SQL을 더 깊이 있게 살펴보고 싶다면 여기를 참고하세요.

이 쿼리는 어떤 정보를 가져올까요? flights 테이블에는 2014년과 2015년에 PDX와 SEA에서 출발한 항공편 정보가 들어 있어요. 참고로 AVG() 함수는 열의 평균 값을 계산합니다!

SELECT AVG(air_time) / 60 FROM flights
GROUP BY origin, carrier;

이 연습은 강의의 일부입니다

PySpark 기초

강의 보기

실습형 인터랙티브 연습문제

이론을 실습으로 바꾸는 인터랙티브 연습 중 하나를 만나보세요

연습 시작