SQL에서 사용되는 중요한 구문 중 하나.
데이터를 그룹화하여 집계 함수를 사용하여 통계 정보
를 생성하는 데 사용된다.
위 사진은 주문 테이블을 전체 조회한 결과다.
이 중에서 cu_id(고객id)가 1인 경우에만 조회하려면 다음과 같이 쿼리를 작성할 수 있다.
select * from my_order where cu_id = 1;
그럼 아래 사진처럼 cu_id가 1인 행들만 조회가 된다.
여기서 만약, 고객별로 총 구매개수를 알고싶으면 어떻게 해야할까? cu_id(고객id) 컬럼을 그룹화하여 주문수량의 총 개수를 구하면 된다. 그럴때 사용하는 구문이 Group by절이다.
그룹함수는 집계함수
와 같이 사용된다. 집계함수는 그룹화된 각 컬럼 데이터들의 통계를 내기 위해 사용되는 함수다.
group by절과 집계함수를 같이 사용하여 고객별로 총 구매수량을 구하는 함수는 아래와 같다.
select cu_id, sum(order_quantity) from my_order group by cu_id;
총 구매수량을 알기 위해 sum 집계함수를 사용했다. 만약 총 구매수량이 아니라 주문 횟수를 구하고 싶다면 sum 대신 count를 넣어서 조회하면 된다.