MySQL의 date-sub() 및 now() 함수를 사용하여 지난 시간에 추가된 행을 가져올 수 있습니다.
구문
구문은 다음과 같습니다 -
select *from yourTableName where yourDateTimeColumnName <=date_sub(now(),interval 1 hour);
위의 쿼리는 지난 시간에 추가된 결과를 제공합니다. 위의 개념을 이해하기 위해 먼저 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table LastHourRecords -> ( -> Id int, -> Name varchar(100), -> Login datetime -> ); Query OK, 0 rows affected (0.67 sec)
삽입 명령을 사용하여 날짜/시간 형식으로 레코드를 삽입합니다. 레코드를 삽입하는 쿼리는 다음과 같습니다 -
mysql> insert into LastHourRecords values(1,'John',' 2018-12-19 10:00:00'); Query OK, 1 row affected (0.17 sec) mysql> insert into LastHourRecords values(2,'Carol','2018-12-19 10:10:00'); Query OK, 1 row affected (0.15 sec) mysql> insert into LastHourRecords values(3,'Sam','2018-12-19 10:05:00'); Query OK, 1 row affected (0.13 sec) mysql> insert into LastHourRecords values(4,'Mike','2018-12-18 12:10:00'); Query OK, 1 row affected (0.10 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from LastHourRecords;
출력
+------+-------+---------------------+ | Id | Name | Login | +------+-------+---------------------+ | 1 | John | 2018-12-19 10:00:00 | | 2 | Carol | 2018-12-19 10:10:00 | | 3 | Sam | 2018-12-19 10:05:00 | | 4 | Mike | 2018-12-18 12:10:00 | +------+-------+---------------------+ 4 rows in set (0.00 sec)
지난 시간에 추가된 행을 가져오는 쿼리를 살펴보겠습니다. −
mysql> select *from LastHourRecords -> where Login <=Date_sub(now(),interval 1 hour);
출력
+------+-------+---------------------+ | Id | Name | Login | +------+-------+---------------------+ | 1 | John | 2018-12-19 10:00:00 | | 2 | Carol | 2018-12-19 10:10:00 | | 3 | Sam | 2018-12-19 10:05:00 | +------+-------+---------------------+ 3 rows in set (0.00 sec)