MYSQL - 订单时间戳值按从最新到最旧的顺序递增?

Cra*_*der 11 mysql timestamp sql-order-by

尝试按时间戳值排序某些结果时遇到问题.

我想根据时间戳值将这些结果从最新显示到最旧显示.

所以要解释一下,想象一下有3个结果:

2012-07-11 17:34:57
2012-07-11 17:33:28
2012-07-11 17:33:07
Run Code Online (Sandbox Code Playgroud)

这个结果集将是我需要的,但给出以下查询

SELECT timestamp
FROM randomTable
ORDER BY timestamp ASC
Run Code Online (Sandbox Code Playgroud)

我明白了:

2012-07-11 17:34:57
2012-07-11 17:33:07
2012-07-11 17:33:28
Run Code Online (Sandbox Code Playgroud)

这是因为它按数值排序并且07在之前28.

如果我按降序排序,我得到

2012-07-11 17:33:07
2012-07-11 17:33:28
2012-07-11 17:34:57
Run Code Online (Sandbox Code Playgroud)

这就是我正在寻找的......但它正好相反.

所以我的问题很简单,我怎么能按照我的描述按升序对这些值进行排序?

编辑:

问题

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
Run Code Online (Sandbox Code Playgroud)

Rav*_*ddy 17

您的查询 :

SELECT timestamp
FROM randomTable
ORDER BY timestamp ASC;
Run Code Online (Sandbox Code Playgroud)

是完美的.但我怀疑你在帖子中提出的结果.你发布了:

2012-07-11 17:34:57
2012-07-11 17:33:07
2012-07-11 17:33:28
Run Code Online (Sandbox Code Playgroud)

但是你的sqlbox中的结果显示:

2012-07-11 17:34:57
2012-07-15 17:33:07
2012-07-15 17:33:28
Run Code Online (Sandbox Code Playgroud)

哪个是完全正确的.

这是你的帖子中的拼写错误吗?
如果不是,请尝试以下操作:

SELECT timestamp( `timestamp` ) as 'timestamp'
FROM randomTable
ORDER BY 1 ASC;
Run Code Online (Sandbox Code Playgroud)