gpt4 book ai didi

php日期和时间按时间顺序排序

转载 作者:行者123 更新时间:2023-11-29 02:31:48 25 4
gpt4 key购买 nike

我尝试了以下查询以获取顶部的最新评论。

SELECT u.id, comments, DATE_FORMAT(comment_date, '%h:%i%p on %m-%d-%Y') AS comment_date_time FROM mytable m INNER JOIN users u ON m.added_by = u.id

UNION

SELECT c.id comments, DATE_FORMAT(comment_date, '%h:%i%p on %m-%d-%Y') AS comment_date_time FROM mytable m INNER JOIN contacts c ON m.added_by = c.id
ORDER BY comment_date_time desc;

但是我得到的 'comment_date' 是这样的:

2012 年 8 月 16 日上午 12:58

2012 年 8 月 21 日凌晨 12:05

2012 年 8 月 20 日晚上 11:54

2012 年 8 月 16 日凌晨 01:38

这里的 comment_date 是 DATETIME。

目前正在分别对日期和时间进行排序,例如,

DATE_FORMAT(comment_date, '%h:%i%p') AS comment_time
DATE_FORMAT(comment_date, '%m-%d-%Y') AS comment_date

有没有更好的解决方案?

谢谢

最佳答案

您的查询是正确的。但是你需要将它排序到原始列(comment_date),因为它的数据类型是datetime。您所做的是通过您的 alias 的名称订购它,现在是 string。试试这个,

SELECT id, comments, comment_date_time
FROM
(
SELECT u.id, comments,
DATE_FORMAT(comment_date, '%h:%i%p on %m-%d-%Y') AS comment_date_time,
comment_date
FROM mytable m INNER JOIN users u ON m.added_by = u.id
UNION
SELECT c.id comments,
DATE_FORMAT(comment_date, '%h:%i%p on %m-%d-%Y') AS comment_date_time,
comment_date
FROM mytable m INNER JOIN contacts c ON m.added_by = c.id
) x
ORDER BY x.comment_date desc;

关于php日期和时间按时间顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12048887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com