7
SQL 문을 사용하여 이전 3 개월 데이터를 얻으려면 어떻게합니까? 예를 들어 현재 날짜가 2011 년 1 월 1 일인 경우 2011 년 12 월, 11 월, 10 월에 데이터를 가져 오는 방법은 무엇입니까?현재 날짜를 기준으로 지난 3 개월간 데이터 가져 오기 -
누군가 나를 안내 해주십시오.
SQL 문을 사용하여 이전 3 개월 데이터를 얻으려면 어떻게합니까? 예를 들어 현재 날짜가 2011 년 1 월 1 일인 경우 2011 년 12 월, 11 월, 10 월에 데이터를 가져 오는 방법은 무엇입니까?현재 날짜를 기준으로 지난 3 개월간 데이터 가져 오기 -
누군가 나를 안내 해주십시오.
SELECT * FROM table1
WHERE mydate BETWEEN DATE_SUB(now(), INTERVAL 3 MONTH) AND now()
또는 당신은 그러나 mydate
에 대한 인덱스를 사용할 수 없기 때문에,이 후자의 버전은 훨씬 느리게 실행됩니다
SELECT * FROM table1
WHERE MONTH(mydate) BETWEEN MONTH(DATE_SUB(now(), INTERVAL 3 MONTH)) AND MONTH(now())
AND YEAR(mydate) BETWEEN YEAR(DATE_SUB(now(), INTERVAL 3 MONTH)) AND YEAR(now())
개월 이내 체류하려는 경우.
현재 날짜 = 01/01/2012 인 경우 솔루션이 정상적으로 작동합니다. 하지만 내가 21/09/2011으로 현재 날짜를 바꿀 때, 나는 0 결과를 얻었다. – softboxkid
날짜는 yyyy-mm-dd 형식이어야하며 '2011-09-21'을 날짜로 사용하십시오. – Johan
이제 첫 번째 해결 방법을 사용했습니다. 하지만 그 해결책은 항상 3 대신 2 행을 반환 왜? 이미 날짜를 yyyy-mm-dd로 변경합니다. – softboxkid