Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php日期和时间按时间顺序排序_Php_Mysql_Date_Sorting_Time - Fatal编程技术网

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

php日期和时间按时间顺序排序,php,mysql,date,sorting,time,Php,Mysql,Date,Sorting,Time,我尝试了以下查询以获取最新的评论 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 com

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

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;
但是我得到的“评论日期”是这样的:

2012年8月16日上午12:58

2012年8月21日上午12:05

2012年8月20日晚上11:54

2012年8月16日凌晨1:38

这里的日期是DATETIME

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

DATE_FORMAT(comment_date, '%h:%i%p') AS comment_time
DATE_FORMAT(comment_date, '%m-%d-%Y') AS comment_date
有没有更好的解决办法


谢谢

您的查询是正确的。但是您需要将其排序到原始列(
comment\u date
),因为它的数据类型是
datetime
。您所做的是按您的
别名
的名称订购的,现在是
字符串
。试试这个

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;

@zerkms
按注释排序\u日期描述
我也试过了,但是在'order子句'@VTP中得到了“未知列'comment\u date'”@VTP:你需要选择原始
comment\u date
,另外在
select
@VTP中我刚刚更新了查询。如果它显示出你想要的结果,你现在能跑吗?@John Woo:谢谢你的快速回复。我得到了输出:)