SQL 기본 | DML : 데이터 조작 언어 | GROUP BY

GROUP BY 절은 같은 값끼리 그룹을 만드는 것이다.

함수의 이야기로 되돌아갑니다. SUM 명령을 사용하여 모든 Sales (판매)를 계산 했어요. 여기에서 각각의 가게 (Store_Name) 판매 (Sales)을 계산하는 경우, 어떻게하면 좋을까요. 그런 경우에는 할 일이 두 가지 : 첫째는, store_name 및 Sales 두 필드를 선택한다. 둘째는 모든 sales를 확인하기 위해 store_name에 따라 각각 계산한다. 그 프로그램은 다음과 같이됩니다.

GROUP BY 문법

SELECT "필드1", SUM("필드2")
FROM "테이블명"
GROUP BY "필드1";

예를 들어,

store_information 테이블

store_name sales txn_date
Los Angeles 1500 Jan-05-2018
San Diego 250 Jan-07-2018
Los Angeles 300 Jan-08-2018
Boston 700 Jan-08-2018

아래와 같이 명령을 입력하면,

SELECT store_name, SUM(sales)
FROM store_Information
GROUP BY store_name;

결과는 아래와 같다.

store_name SUM(sales)
Los Angeles 1800
San Diego 250
Boston 700

필드를 하나 이상 선택하고, 적어도 그 중 하나에 함수의 계산이 포함된 경우 GROUP BY 명령을 사용하지 않으면 안된다. 이러한 경우, GROUP BY를 가진 다른 필드를 확인한다. 즉, 함수가 포함된 필드를 확인한 후에 그것을 GROUP BY 절에 넣는다.