>  기사  >  데이터 베이스  >  SQL에서 0 값이 있는 월을 포함하여 날짜 범위의 모든 월을 표시하는 방법은 무엇입니까?

SQL에서 0 값이 있는 월을 포함하여 날짜 범위의 모든 월을 표시하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-31 19:33:02684검색

How to Show All Months in a Date Range, Including Those with Zero Values in SQL?

값이 0인 월을 포함하여 날짜 범위 내의 모든 월 표시

SQL 프로그래밍에서 특정 날짜 범위 내의 특정 데이터를 선택하면 특히 누락된 값을 처리할 때 어려움을 겪습니다. 이 문제는 두 날짜 사이의 모든 달에 대한 월 평균을 계산하려고 할 때 발생하며, 값이 없는 달은 표시되지 않습니다.

해결 방법

이 문제를 해결하려면 포괄적인 "날짜 테이블"을 사용하는 접근 방식이 권장됩니다. 이 테이블에는 필수 날짜 범위 내의 모든 달이 포함되어 있습니다. 날짜 테이블과 실제 데이터 테이블 사이에 LEFT JOIN을 수행하면 값이 0인 월을 포함하여 모든 월이 표시됩니다.

SQL 쿼리

다음은 수정된 쿼리는 LEFT JOIN 기술을 통합합니다.

SELECT `DT`.`myYear`, `DT`.`myMonth`, 
AVG(`myTable`.`value1`) AS `avg_value_1`, 
AVG(`myTable`.`value2`) AS `avg_value_2`
FROM `dateTable` AS `DT`
LEFT JOIN `myTable`
ON `DT`.`myDate` = `myTable`.`save_date`
WHERE `DT`.`myDate` BETWEEN '2009-01-01' AND '2009-07-01'
GROUP BY `DT`.`myYear`, `DT`.`myMonth`

이 쿼리는 값이 0인 달을 포함하여 지정된 범위 내의 모든 달이 표시되도록 합니다. "dateTable"에서 추가 필드를 선택하면 분기, 요일 등 다양한 기간별로 데이터를 쉽게 보고할 수 있습니다.

위 내용은 SQL에서 0 값이 있는 월을 포함하여 날짜 범위의 모든 월을 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.