날짜별 SQL 그룹화

Naljjabyeol Sql Geulubhwa



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 절을 사용하여 날짜 값을 기준으로 데이터를 나누는 방법을 다룰 수 있었습니다.