MySQL 无法使用 UNIX 时间戳正确排序

问题描述

我有这个 PHP 代码

(来自我的数据库类)

$q = "SELECT * FROM" . CON_TBL. " WHERE a = $b ORDER BY thedate DESC";
$result = MysqLi_query($this->connection,$q);

数据库上的日期(unix 时间戳)是:

1138322340
1617584160
1617673680
759952800

我得到了这个结果:

30-Jan-1994 12:00
05-Apr-2021 20:48
04-Apr-2021 19:56
26-Jan-2006 18:39

一个日期应该是最后一个

05-Apr-2021 20:48
04-Apr-2021 19:56
26-Jan-2006 18:39
30-Jan-1994 12:00

知道发生了什么吗?

解决方法

thedate 列是 VARCHAR 而不是 INT,一旦我将列更改为 INT,ORDER 就会得到纠正。