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