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 절에 넣는다.
최종 수정 : 2021-08-27