본문 바로가기
MySql

MySQL MYSQL-주문 타임 스탬프 값이 최신에서 가장 오래된 순서로 오름차순?

by 베이스 공부 2021. 2. 5.
반응형

타임 스탬프 값으로 특정 결과를 정렬하려고 할 때 문제가 발생했습니다.

타임 스탬프 값을 기준으로이 결과를 최신에서 가장 오래된 것으로 표시하고 싶습니다.

이를 설명하기 위해 3 개의 결과가 있다고 상상해보십시오.

2012-07-11 17:34:57
2012-07-11 17:33:28
2012-07-11 17:33:07

이 결과 세트는 내가 필요로 할 것이지만 다음 쿼리가 주어지면

SELECT timestamp
FROM randomTable
ORDER BY timestamp ASC

나는 얻다:

2012-07-11 17:34:57
2012-07-11 17:33:07
2012-07-11 17:33:28

이것은 숫자 값으로 정렬되고 07 28 앞에옵니다.

내림차순으로 정렬하면

2012-07-11 17:33:07
2012-07-11 17:33:28
2012-07-11 17:34:57

내가 찾던 것은 ...하지만 그 반대입니다.

그래서 제 질문은 상당히 간단합니다. 제가 설명한대로 이러한 값을 오름차순으로 정렬하려면 어떻게해야합니까?

편집하다:

문제

EDIT2 :

CREATE TABLE `user_quotations` (
 `id` int(100) NOT NULL AUTO_INCREMENT,
 `quoteNumber` int(100) NOT NULL,
 `lastModified` datetime NOT NULL,
 `userId` int(100) NOT NULL,
 `manufacturer` varchar(250) COLLATE latin1_general_ci NOT NULL,
 `modelNumber` varchar(250) COLLATE latin1_general_ci NOT NULL,
 `productDesc` varchar(1000) COLLATE latin1_general_ci NOT NULL,
 `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`),
 KEY `quoteNumber` (`quoteNumber`,`lastModified`,`userId`,`manufacturer`,`modelNumber`,`timestamp`),
 KEY `productDesc` (`productDesc`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci

 

해결 방법

 

귀하의 쿼리 :

SELECT timestamp
FROM randomTable
ORDER BY timestamp ASC;

완벽합니다. 그러나 나는 당신이 당신의 게시물에서 제시 한 결과에 대해 의심합니다. 게시 :

2012-07-11 17:34:57
2012-07-11 17:33:07
2012-07-11 17:33:28

그러나 sqlbox의 결과는 다음을 보여줍니다.

2012-07-11 17:34:57
2012-07-15 17:33:07
2012-07-15 17:33:28

완벽하게 맞습니다.

게시물에 오타가 있습니까?
아니라면 다음을 시도하십시오.

SELECT timestamp( `timestamp` ) as 'timestamp'
FROM randomTable
ORDER BY 1 ASC;

 

참조 페이지 https://stackoverflow.com/questions/11493463

 

 

반응형

댓글