Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 TIMESTAMP() 함수로 타임스탬프 값을 오름차순 정렬하는 방법

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)의 약자이며, 기본 정렬 방식이므로 생략해도 동일한 결과를 얻을 수 있습니다.