MySQL에서 타임스탬프(timestamp) 값을 오름차순으로 정렬하려면 ORDER BY ASC 절과 TIMESTAMP() 함수를 함께 사용할 수 있습니다.
기본 문법
TIMESTAMP() 함수를 활용해 타임스탬프 값을 오름차순으로 정렬하는 기본 문법은 다음과 같습니다.
SELECT timestamp( yourTimestampColumnName ) as anyAliasName From yourTableName order by 1 ASC
예제 테이블 생성
위 문법을 실제로 이해하기 위해 먼저 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table Timestamp_TableDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> yourTimestamp timestamp -> ); Query OK, 0 rows affected (0.83 sec)
테이블이 성공적으로 생성되었습니다. 이제 INSERT 명령을 사용하여 몇 개의 레코드를 삽입해 보겠습니다.
샘플 데이터 삽입
mysql> insert into Timestamp_TableDemo(yourTimestamp) values('2019-02-06 17:34:57');
Query OK, 1 row affected (0.14 sec)
mysql> insert into Timestamp_TableDemo(yourTimestamp) values('2019-02-06 17:32:30');
Query OK, 1 row affected (0.25 sec)
mysql> insert into Timestamp_TableDemo(yourTimestamp) values('2019-02-06 17:32:09');
Query OK, 1 row affected (0.14 sec)저장된 데이터 확인
SELECT 문을 사용하여 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select *from Timestamp_TableDemo;
실행 결과는 다음과 같습니다.
+----+---------------------+ | Id | yourTimestamp | +----+---------------------+ | 1 | 2019-02-06 17:34:57 | | 2 | 2019-02-06 17:32:30 | | 3 | 2019-02-06 17:32:09 | +----+---------------------+ 3 rows in set (0.00 sec)
출력 결과를 보면 레코드가 삽입된 순서대로 저장되어 있어, 타임스탬프 값이 내림차순(늦은 시간부터)으로 표시되는 것을 확인할 수 있습니다.
TIMESTAMP() 함수로 오름차순 정렬하기
이제 TIMESTAMP() 함수와 ORDER BY ASC를 사용하여 타임스탬프 값을 오름차순으로 정렬하는 쿼리를 실행해 보겠습니다.
mysql> SELECT timestamp( yourTimestamp) as 'timestampDemo' -> from Timestamp_TableDemo -> order by 1 asc;
실행 결과는 다음과 같습니다.
+---------------------+ | timestampDemo | +---------------------+ | 2019-02-06 17:32:09 | | 2019-02-06 17:32:30 | | 2019-02-06 17:34:57 | +---------------------+ 3 rows in set (0.00 sec)
결과 분석
정렬 후 출력 결과를 보면 타임스탬프 값이 가장 이른 시간(17:32:09)부터 가장 늦은 시간(17:34:57)까지 오름차순으로 깔끔하게 정렬된 것을 확인할 수 있습니다.
여기서 order by 1은 SELECT 절의 첫 번째 컬럼, 즉 timestamp(yourTimestamp)로 별칭이 지정된 컬럼을 기준으로 정렬한다는 의미입니다. 참고로 ASC는 오름차순(ascending)의 약자이며, 기본 정렬 방식이므로 생략해도 동일한 결과를 얻을 수 있습니다.