MySQL에서 특정 두 날짜 사이의 로그인 수를 조회하려면 BETWEEN 연산자를 사용하는 것이 가장 간단한 방법입니다. BETWEEN은 시작 날짜와 종료 날짜를 모두 포함하는 범위 내의 레코드를 반환합니다. 실제 예제를 통해 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 로그인 기록을 저장할 테이블을 생성합니다.
mysql> create table DemoTable
(
Login datetime
);
Query OK, 0 rows affected (0.66 sec)2. 데이터 삽입하기
INSERT 명령을 사용하여 몇 개의 로그인 기록을 추가합니다.
mysql> insert into DemoTable values('2019-08-10');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2019-08-12');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('2019-08-20');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('2019-08-24');
Query OK, 1 row affected (0.12 sec)3. 전체 데이터 확인하기
SELECT 문으로 테이블에 저장된 모든 레코드를 조회해 보겠습니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+---------------------+ | Login | +---------------------+ | 2019-08-10 00:00:00 | | 2019-08-12 00:00:00 | | 2019-08-20 00:00:00 | | 2019-08-24 00:00:00 | +---------------------+ 4 rows in set (0.00 sec)
4. BETWEEN으로 두 날짜 사이의 로그인 수 세기
다음은 MySQL에서 두 날짜 사이의 데이터를 조회할 때 사용하는 올바른 쿼리입니다.
mysql> select count(*) from DemoTable where Login between '2019-08-12' and '2019-08-24';
실행 결과는 다음과 같습니다.
+----------+ | count(*) | +----------+ | 3 | +----------+ 1 row in set (0.05 sec)
결과를 보면 2019년 8월 12일부터 8월 24일 사이에 해당하는 로그인 기록이 총 3건(8월 12일, 8월 20일, 8월 24일) 조회된 것을 확인할 수 있습니다. 참고로 BETWEEN 연산자는 시작 값과 종료 값을 모두 포함하므로, 경계 날짜의 데이터도 결과에 함께 반영됩니다. 이 점만 유의하면 날짜 범위 검색을 손쉽게 활용할 수 있습니다.