2012-11-06 82 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";