php - 如何在mysql中对日期进行排序?

标签 php mysql

<分区>

我有一个关于如何在 mysql 中对日期进行排序的问题。这听起来可能很愚蠢,因为它可以用 order by date asc 来完成。 在我的表中,日期实际上存储在字符串中,格式为例如2014-02-19,星期三。 假设我有一个如下表。

id | user_id | date
1  |   38    | Wed,2014-02-19
2  |   38    | Wed,2014-02-26
3  |   38    | Wed,2014-02-12
4  |   38    | Wed,2014-02-05

对于上述情况,我仍然可以使用 order by date asc 进行排序,因为所有日期都是星期三。但是假设某一天是不同的,如下所示,

id | user_id | date
1  |   38    | Wed,2014-02-19
2  |   38    | Wed,2014-02-26
3  |   38    | Thu,2014-02-13
4  |   38    | Wed,2014-02-05

mysql 会优先排序Thu,2014-02-13

无论如何要在 mysql 中做?

最佳答案

只需按逗号后的部分排序:

order by substring_index(date, ',', -1)

关于php - 如何在mysql中对日期进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21152951/

相关文章:

mysql - 根据条件连接两个表以及第二个表中的记录数

PHP 表单更新页面

php - PHP 中的 HTML <select> 使用 mysql 数据

php - 如何在三重内连接表中显示适当的数据?

php - 在 MYSQL 中读取和写入 PHP 数组

php - 弃用的 MySql 函数

javascript - AJAX 与 PHP 调试

python - 错误 1318 : Incorrect number of arguments for PROCEDURE ComicHub. sp_createUser;预期 3,得到 4

MySQL 在 "rehash"命令上永远挂起

php - 使用 sql WHERE > 'value' 语句有困难