php - 如何反转 MySQL 结果

标签 php mysql sql sql-order-by

我需要反转我的输出,但我无法通过切换 ORDER BY 子句来实现。

此代码获取最近 12 个月的数据,但我需要以相反的顺序显示它们。现在它有十月第一,但我需要它来最后。如果我切换到 ORDER BY DATE ASC,那么我会得到错误的月份。

我的代码是这样的:

<?php
$result2 = mysqli_query(
    $con,
    "SELECT SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE)
        FROM royalties 
        GROUP BY DATE
        ORDER BY DATE DESC
        LIMIT 12"
);
while($row2 = mysqli_fetch_array($result2)) {
    echo number_format($row2[0], 2, '.', '') . ', ';
}?>

最佳答案

您可以将查询包装在另一个选择中并反转order by:

SELECT res
FROM (
  SELECT `date`,SUM(DISTRIBUTED_AMOUNT / EXCHANGE_RATE) AS res
  FROM royalties
  GROUP BY `date`
  ORDER BY `date` DESC LIMIT 12
  ) a
ORDER BY `date` ASC

关于php - 如何反转 MySQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19776907/

相关文章:

php - Laravel + Eloquent ORM : HasManyThrough OrderBy TableC. column2

php - Mysql 分组/排序依据

mysql - 选择默认值返回 NULL

sql - 如何将动态列添加到现有表

sql - MS SQL Server 2005上的索引varchar

php - Laravel 的 ShouldQueue 是如何工作的

php - 作为团队的一部分,我如何管理我的网站的开发和部署?

php - 如何获取其他表使用codeigniter的对象的行数

Mysql 在使用 Count 时只返回一行

php - 计算我的 mysql 表中一行的更新次数