SQL GROUP BY 절은 데이터를 그룹화하고 집계하기 위한 강력한 도구입니다. 특정 기준에 따라 데이터를 그룹화한 다음 결과 그룹에 대한 작업을 수행하는 탁월한 방법을 제공합니다.
GROUP BY의 일반적인 사용 사례 중 하나는 날짜별로 그룹화하는 것입니다. 이 자습서에서는 GROUP BY 절 작업의 기본 사항을 배우고 이를 사용하여 SQL에서 날짜별로 데이터를 그룹화하는 방법에 대해 설명합니다.
메모: SQL에 대한 기본적인 이해가 있다고 가정합니다. 데모 목적으로 이 자습서의 예제를 MySQL 8과 함께 사용합니다. 그러나 이 자습서의 개념을 다른 SQL 기반 데이터베이스 엔진에 자유롭게 이식할 수 있습니다.
샘플 테이블:
첫 번째 단계는 시연을 위한 기본 테이블과 샘플 데이터를 설정하는 것입니다. 작업하려는 기존 테이블이 있는 경우 이 섹션을 건너뛰어도 됩니다.
테이블을 만들려면 다음 쿼리를 사용합니다.
CREATE TABLE 트랜잭션 (
ID int null이 아닌 auto_increment 기본 키,
날짜 날짜,
금액 십진법 ( 10 , 2 )
) ;
테이블을 생성한 후 다음과 같이 샘플 데이터를 삽입합니다.
가치
( '2023-01-01' , 100.00 ) ,
( '2023-01-02' , 50.00 ) ,
( '2023-01-03' , 75.00 ) ,
( '2023-01-04' , 200.00 ) ,
( '2023-01-05' , 150.00 ) ,
( '2023-01-06' , 175.00 ) ,
( '2023-01-07' , 50.00 ) ,
( '2023-01-08' , 100.00 ) ,
( '2023-01-09' , 25.00 ) ,
( '2023-01-10' , 75.00 ) ,
( '2023-01-11' , 150.00 ) ,
( '2023-01-12' , 200.00 ) ,
( '2023-01-13' , 250.00 ) ,
( '2023-01-14' , 175.00 ) ,
( '2023-01-15' , 150.00 ) ,
( '2023-01-16' , 100.00 ) ,
( '2023-01-17' , 50.00 ) ,
( '2023-01-18' , 75.00 ) ;
이렇게 하면 트랜잭션 테이블에 임의의 데이터가 추가됩니다. 다음과 같이 결과 테이블을 표시하기 위해 select 문을 사용할 수 있습니다.
선택하다 * 거래에서;
출력 테이블:
데이터가 준비되면 다음 단계로 진행할 수 있습니다.
날짜별 SQL 그룹화
짐작할 수 있듯이 GROUP BY 절을 사용하여 특정 값을 기준으로 지정된 테이블의 데이터를 분할합니다. 절 구문은 다음과 같습니다.
SELECT 열1, 열2, ...FROM table_name
GROUP BY column1, column2, ...;
이전 구문에서는 GROUP BY 절을 사용하여 데이터를 그룹화하려는 열을 지정했습니다.
이전 테이블에서 날짜 열을 사용하여 다음 쿼리와 같이 데이터를 그룹화할 수 있습니다.
선택하다 날짜 , 합계 ( 양 ) ~처럼 총액트랜잭션에서
그룹화 기준 날짜 ;
이전 쿼리는 기본 계산을 수행하고 sum() 함수를 사용하여 각 날짜의 총 금액을 더합니다. 그런 다음 날짜 값을 기준으로 데이터를 그룹화합니다. 결과 테이블은 다음과 같습니다.
포맷 날짜
때로는 날짜 형식을 지정하고 더 읽기 쉽게 만들어야 할 수도 있습니다. 예는 다음과 같습니다.
DATE_FORMAT 선택 ( 날짜 , '%m/%d/%Y' ) ~처럼 formatted_date, 합계 ( 양 ) ~처럼 총액트랜잭션에서
그룹화 기준 날짜 ;
다음과 같이 지정된 형식으로 날짜 값을 반환해야 합니다.
SQL 필터 날짜 범위
WHERE 절을 사용하여 날짜 범위별로 결과 집합을 필터링할 수도 있습니다. 예는 다음과 같습니다.
DATE_FORMAT 선택 ( 날짜 , '%m/%d/%Y' ) ~처럼 formatted_date, 합계 ( 양 ) ~처럼 총액트랜잭션에서
어디 날짜 사이 '2023-01-01' 그리고 '2023-01-15'
그룹화 기준 날짜 ;
결과 테이블은 다음과 같습니다.
당신은 그것을 가지고 있습니다! 날짜 값을 기준으로 지정된 테이블의 데이터를 그룹화하는 방법입니다.
결론
이 자습서에서는 SQL에서 GROUP BY 절을 사용하여 특정 값을 기준으로 데이터를 정렬하는 기본 사항을 살펴보았습니다. 이를 통해 GROUP BY 절을 사용하여 날짜 값을 기준으로 데이터를 나누는 방법을 다룰 수 있었습니다.