루프나 임시 테이블 없이 특정 범위 내의 날짜 목록을 생성하는 방법은 무엇입니까?
Jan 23, 2025 pm 05:07 PM날짜 범위에서 날짜 생성
데이터 분석의 일반적인 작업은 주어진 기간에서 특정 날짜를 추출하는 것입니다. 예를 들어 "2010-01-20"에서 "2010-01-24"까지의 날짜를 검색해야 할 수 있습니다.
루프나 임시 테이블이 없는 솔루션
루프, 프로시저 또는 임시 테이블을 사용하지 않고 이를 달성하려면 하위 쿼리를 활용하여 날짜 시퀀스를 생성할 수 있습니다.
SELECT a.Date FROM ( SELECT CURDATE() - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a)) DAY AS Date FROM (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS a CROSS JOIN (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS b CROSS JOIN (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS c CROSS JOIN (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS d ) a WHERE a.Date BETWEEN '2010-01-20' AND '2010-01-24'
이 하위 쿼리는 약 10,000일에 걸친 날짜 계열을 생성합니다. 하위 쿼리에서 범위를 확장하거나 축소하여 일수를 조정할 수 있습니다.
출력
쿼리는 다음 날짜를 반환합니다.
<code>Date ---------- 2010-01-20 2010-01-21 2010-01-22 2010-01-23 2010-01-24</code>
실적 노트
이 쿼리의 성능은 매우 우수하여 5일 범위 동안 0.0009초 만에 실행됩니다. 100,000일의 범위에서도 단 0.0458초만에 완료됩니다.
호환성과 휴대성
이 기술은 약간의 조정만 하면 대부분의 데이터베이스와 호환됩니다. 예를 들어 CURDATE() 함수를 특정 데이터베이스의 해당 함수로 바꿀 수 있습니다.
위 내용은 루프나 임시 테이블 없이 특정 범위 내의 날짜 목록을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?
