집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 연속 날짜 범위를 식별하는 방법은 무엇입니까?
일련의 날짜가 포함된 열에서 연속 날짜 범위를 식별하려면 SQL을 사용하여 시작 날짜와 종료 날짜를 효율적으로 추출할 수 있습니다. 각 범위의
다음 데이터세트를 고려하세요.
InfoDate 2013-12-04 2013-12-05 2013-12-06 2013-12-09 2013-12-10 2014-01-01 2014-01-02 2014-01-03 2014-01-06 2014-01-07 2014-01-29 2014-01-30 2014-01-31 2014-02-03 2014-02-04
목표 각 연속 날짜 범위의 시작 날짜와 종료 날짜를 추출하여 결과는 다음과 같습니다.
StartDate EndDate 2013-12-04 2013-12-06 2013-12-09 2013-12-10 2014-01-01 2014-01-03 2014-01-06 2014-01-07 2014-01-29 2014-01-31 2014-02-03 2014-02-04
다음 단계를 사용하면 간단하고 효율적인 SQL 솔루션을 고안할 수 있습니다.
SQL 이를 달성하기 위한 쿼리는 다음과 같습니다.
WITH t AS ( SELECT InfoDate d,ROW_NUMBER() OVER(ORDER BY InfoDate) i FROM @d GROUP BY InfoDate ) SELECT MIN(d),MAX(d) FROM t GROUP BY DATEDIFF(day,i,d)
위 내용은 SQL에서 연속 날짜 범위를 식별하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!