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 절에 넣는다.