MySQL 사용법, 데이터 추출 기간 설정하기, 날짜 범위 데이터 추출 방법

Updated on 2021-10-02 by

여기에서는 MySQL 사용법으로 일정 기간 정해진 기간동안 데이타를 뽑아 오는 MySQL 쿼리를 작성 방법, 즉 데이터 추출 기간 설정 방법에 대해서 알아보도록 하겠습니다.

이전에는 가장 최근 일정 기간 데이터를 뽑아 오도록 최근 기간 데이터 추출 방법을 배워 유용하게 사용하고 있습니다. 이 방법은 유연성이 좋기는 한데요. 글을 쓰다보면 특정 기간 데이타를 보여주시간이 흘러도 그 데이타 및 그래프가 보여줘야 제대로 이해할 수 있는 경우가 있습니다.

예를 들어 미국 경제 분석을 하는데 21년 1분기에서 22년 4분기까지 경제 성장률 예측치를 보여주고 이를 기반해 미국 경제 전망을 이야기한다면 그 페이지에서 보여주는 데이터 및 그래프는 21년 1분기에서 22년 4분기까지 데이터만 보여주는 것이 맞습니다.

이렇세 하기 위해서는 MySQL 쿼리 사용 시 날짜 범위를 정하고 그 범위내에서 데이터를 뽑아오도록 MySQL퀄리를 사용하면 됩니다. 아래에서는 이를 가능케하는 MySQL쿼리 작성 방법을 살펴보도록 하겠습니다.

DATA_SUB와 INTERVAL을 사용

먼저 생각할 수 있는 것은 DATA_SUB와 INTERVAL을 사용하는 방법입니다.

  • date : 날짜 형식(DATE)으로 추가한 컬럼 이름
  • 2021년 1월 1일에서 2022년 12월 31일 사이의 데이터를 뽑음
WHERE date BETWEEN DATE_SUB('2021-01-01', INTERVAL 1 DAY)              
                                     AND '2022-12-31'Code language: PHP (php)

아래는 이 방법을 실제로 적용한 코드인데요.

SELECT economy_q.`quarter_cy`,
            economy_q.`gdp`,
            economy_q.`gdp_yoy`,
            economy_q.`gdp_qoq`,
            economy_q.`gdp_us_yoy`
FROM  economy_q
WHERE 
            economy_q.`country` = 'us' 
   AND date BETWEEN DATE_SUB('2021-01-01', INTERVAL 1 DAY)              
                                    AND '2022-12-31';Code language: PHP (php)

이러한 코드는 먹히긴 하지만, 이를실행시키면 이상하게 20년 4분기부터 22년 4분기까지 데이터를 보여주더군요. 뭐 유사한 범위내 데이타를 뽑아 주기 때문에 아주 쓸모없지는 않지만 정확한 데이터가 필요한 경우는 사용하기 어려울듯 합니다.

DATE_FORMAT 사용

다음에 사용해 본 방법은 DATE_FORMAT을 사용하는 방법인데요. 기본 공식은 아래와 같습니다.

  • date : 날짜 형식(DATE)으로 추가한 컬럼 이름
  • 2021년 1월 1일에서 2022년 12월 31일 사이의 데이터를 뽑음
  • ORDER BY date desc : 데이터 추출 후 내림차순으로 정렬
WHERE DATE_FORMAT(date,'%Y-%m-%d') between '2021-01-01' and '2022-12-31'
             ORDER BY date desc;Code language: PHP (php)

아래는 이 방법을 실제로 적용한 코드인데요.

SELECT economy_q.`quarter_cy`,
            economy_q.`gdp`,
            economy_q.`gdp_yoy`,
            economy_q.`gdp_qoq`,
            economy_q.`gdp_us_yoy`
FROM  economy_q
WHERE 
            economy_q.`country` = 'us' 
   AND DATE_FORMAT(date,'%Y-%m-%d') between '2021-01-01' and '2022-12-31'
           ORDER BY date desc;Code language: PHP (php)

위 코드는 원하는대로 제대로 먹힙니다.

지시한대로 21년 1분기부터 22년 4분기까지 데이터를 뽑아줍니다.

따라서 일정 기간을 정해놓고 데이터 추출이 필요하다면 이 코드를 사용하면 좋을 것 같습니다.

참고

MySQL 사용법, 데이타베이스 & 테이블 & 컬럼 생성하기

MySQL 사용법, 최근 데이터 조회 방법, 최근 3개월 데이터 등등

MySQL 사용법, 데이터 추출 기간 설정하기, 날짜 범위 데이터 추출 방법

MySql 최적화로 빨라질 사이트 DB 튜닝 방법

새롭게 뉴스레터를 시작했습니다.

1️⃣ 주식 등 투자 정보 : 기업 분석, IB 투자의견 등 투자 관련 내용
..... 테슬라 실적 및 IB들의의 테슬라 투자의견
2️⃣ 사례 및 트렌드 : 사례연구와 트렌드 관련 괜찮은 내용
.....유튜브와 경쟁대신 구독 전환한 비디오 플래폼 비메오 사례

서울에 생긴 Vultr 서버 100$ 프로모션

안녕하세요?
새로운 사이트 구축을 위한 신규 서버를 고민하신다면 , 서울 리젼이 생겨 더욱 빨라진 Vultr 서버를 Vultr 100$ 프로모션으로 이용해 보세요.

아래 프로모션 코드 링크를 통해 Vultr에서 서버 구축 후 1달 이상 사용 및 $25이상 결제 時 추가 100$을 주는 프로모션입니다.

Vultr는 서울에도 리젼이 있어 매우 빠르고, 아마존 웹 서비스(AWS)보다 성능이 높으며 가장 가성비가 뛰어납니다.

거기다 사용자 UI도 좋고, 15개까지 스냅샷을 무료로 제공하기 때문에 관리하기 좋습니다. 그리고 지금 100$ 프로모션처럼 가격적인 메리트도 있습니다.

우분투 20.04와 PHP 8 기반 워드프레스 설치 방법

가상 서버를 운영하고픈 勇者에게 전하는 가상 서버 운영 입문 노하우 – Vultr 가상서버호스팅(VPS)를 중심으로

워드프레스 최적화를 위한 18개월간의 고민, 그 노하우를 담다.

도쿄 리젼과 비교해 본 Vultr 서울 리젼 사용기

가성비가 뛰어난 Vultr 가상서버호스팅(클라우드호스팅,VPS) 사용기

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments