我有数据库记录,如下面的
Name Date(timestamp) Time(timestamp)
我想按时间DESC订购。但它显示我错误的顺序。它现在显示:
Name 19:00
Other 18:30
One more 19:00
正如你所看到的,从最早到最晚都没有。我希望它是这样的:
Other 18:30
Name 19:00
One more 19:00
我做错了什么?
SELECT * FROM table WHERE date='".$date."' ORDER BY book_time DESC
答案 0 :(得分:0)
尝试使用Timestamp()指定您希望从中提取数据的字段作为时间戳。
类似的东西:
SELECT timestamp( `timestamp` ) as 'timestamp'
FROM randomTable
ORDER BY 1 ASC;
如果您可以发布输出的屏幕截图以使问题更清晰,那就太棒了。
答案 1 :(得分:0)
您确定只选择您想要的日期吗?因为我认为选择多个日期不仅仅是一个。
此外,您需要使用ASC而不是DESC。
因为我已经尝试过,它对我有用。这是我的简单代码:
$sql = "SELECT * FROM test WHERE date = '2016-02-10' ORDER BY time ASC";
$res = $DB->query($sql);
while($enr = $res->fetch()){
var_dump($enr);
}
使用此DB:
结果是:
array (size=8)
'id' => string '4' (length=1)
0 => string '4' (length=1)
'date' => string '2016-02-10' (length=10)
1 => string '2016-02-10' (length=10)
'time' => string '01:00:07' (length=8)
2 => string '01:00:07' (length=8)
array (size=8)
'id' => string '3' (length=1)
0 => string '3' (length=1)
'date' => string '2016-02-10' (length=10)
1 => string '2016-02-10' (length=10)
'time' => string '02:03:05' (length=8)
2 => string '02:03:05' (length=8)
结果是您想要的ASC订单中的订单
希望对你有所帮助。