php - MySQL 和 PHP 的 ORDER BY 错误

标签 php mysql sql date timestamp

在我的 MySQL 中有一个名为 date 的列,类型是 timestamp

在我的 PHP 脚本中使用它:

$stmt = $pdo->prepare('SELECT id, date FROM my_table ORDER BY DATE(date) ASC, TIME(date) DESC');

输出是:

2016-11-26 16:55:30
2016-11-26 16:53:08
2016-11-26 16:37:25
2016-11-26 16:32:29
2016-11-26 16:18:57
2016-11-28 19:37:37

但这是错误的顺序。我想把最新的日期放在最上面,包括日期和时间。

意思是:

2016-11-28 19:37:37
2016-11-26 16:55:30
2016-11-26 16:53:08
2016-11-26 16:37:25
2016-11-26 16:32:29
2016-11-26 16:18:57

我做错了什么?

最佳答案

为什么不能对整个列值使用 order by 而不是分别对日期部分和时间部分进行排序

ORDER BY `date` DESC

关于php - MySQL 和 PHP 的 ORDER BY 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40851984/

相关文章:

php - ajax 复选框 php

php - 在MySQL中,需要连接两个表,其中一个表对第二个表有多个引用

sql - 使用 group by 查找计数

sql - Bigquery 滚动月份数据

php - 在 PHP 中将粗俗的分数转换为数字

php - 如何从数据库中的 2 个不同表中获取 Laravel 中选定选项的值

php - 有多个 OR 子句会减慢查询速度吗

Mysql触发器在插入当前表后更新其他表

php - 识别 Twig 变量中的空白

mysql - mySQL 索引从什么时候开始对简单选择产生影响?