PHP byDreamy postedFeb 12, 2020

SQL 일정 시간단위로 데이터 검색하기

?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

+ - Up Down Comment Print

서비스를 운영할떄 admin등에서 중요 지표들의 시간별로 데이터를 쿼리를 통해 간단히 출력할 수 있어야한다.

먼저 기본 dateTime관련 sql함수들을 알아보자.

최근 1h

최근이란 현재시간 기준이다

DATE_SUB(NOW(),INTERVAL 1 hour) 는 현재시간 - 1시간을 한다는 의미이다.

고로 1시간 과거의 date이고 이것보다 큰값이라면 현재를 기준으로 봤을때 1시간내의 타임이 where 조건으로 걸린다는 이야기가된다.

즉, 아래쿼리에 해당하는 시간은 컷은 현재시간 ~ 1시간전 까지이다.

select user from data where {MY_DATE} > DATE_SUB(NOW(),INTERVAL 1 hour)

최근 1day

현재시간 ~ 하루전

select user from data where {MY_DATE} > DATE_SUB(NOW(),INTERVAL 1 day)

최근 1mon

현재시간 ~ 1달전

select user from data where {MY_DATE} > DATE_SUB(NOW(),INTERVAL 1 month)

최근 1year

현재시간 ~ 1년전

select user from data where {MY_DATE} > DATE_SUB(NOW(),INTERVAL 1 year)

yyyy-mm–dd ~ yyyy-mm-dd

yyyy-mm–dd ~ yyyy-mm-dd까지

select user from data where {MY_DATE1} between '2016-10-10' and '2016-10-13'

마치며

sql은 참으로 다양한 함수들이 존재하고 주요한 함수들을 알아두면 쿼리를 더욱 편히 짤 수 있다.


나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5