2012-11-06 53 views
0

我期待根据最近的日期排序我的信息以及从最便宜到更昂贵的成本金额。我的日期字段是一个在当前时间戳中被忽略的mysql中的时间戳。我也有一个“paymentamount”,我也想组织。这是我到目前为止,它不工作。从最近的订单日期下来

$select = "SELECT * FROM `Carriers` ORDER BY date,paymentamount DESC"; 

回答

2

如果未指定,默认情况下按列升序排序。当你在两列上排序时,你必须指定每个列的方向。

在这种情况下,尝试:

SELECT 
    * 
FROM 
    Carriers 
ORDER BY 
    date DESC, 
    paymentamount DESC 

当你说“最便宜的也要更贵”,对于成本,这听起来像你真的想按升序排序paymentamount。日期,即“最近的日期下降”将需要按降序排列。在这种情况下,你可以使用:

ORDER BY 
    date DESC, 
    paymentamount ASC 

在你的PHP代码(便于复制粘贴+):

$select = "SELECT * FROM `Carriers` ORDER BY date DESC, paymentamount ASC"; 
+0

做到了。谢谢 – user1801996

0

的最近日期是DESC秩序,最便宜的价格是递增的顺序。

$select = "SELECT * FROM `Carriers` ORDER BY date DESC, paymentamount ASC"; 
0

查询应该是$select = "SELECT * FROM Carriers ORDER BY date DESC, paymentamount ASC";

0

我认为你需要为你的两个领域提供不同的排序。它看起来像你希望在DESC的日期,但你的付款在ASC。所以...

$select = "SELECT * FROM `Carriers` ORDER BY date DESC,paymentamount ASC";