0

我希望按最近的日期以及从最便宜到更贵的成本金额对我的信息进行排序。我的日期字段是 mysql 中的时间戳,与当前时间戳不同。我也有一个我想组织的“paymentamount”。这是我到目前为止所拥有的,它不起作用。

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

4 回答 4

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";
于 2012-11-06T18:49:04.023 回答
0

最近的日期是 DESC 订单,最便宜的价格是 asc 订单。

$select = "SELECT * FROM `Carriers` ORDER BY date DESC, paymentamount ASC";
于 2012-11-06T18:50:21.243 回答
0

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

于 2012-11-06T18:52:14.967 回答
0

我认为您需要为您的两个字段提供不同的排序。看起来您希望您的日期为 DESC,但您的付款金额为 ASC。所以...

$select = "SELECT * FROM `Carriers` ORDER BY date DESC,paymentamount ASC";
于 2012-11-06T18:54:33.103 回答