【发布时间】:2013-11-04 20:53:43
【问题描述】:
我需要反转我的输出,但不能通过切换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, '.', '') . ', ';
}?>
【问题讨论】:
-
您可以添加仅匹配过去 12 个月的日期的
WHERE子句,然后反转ORDER BY。这不仅可以解决顺序问题,还可以使查询更快,因为它不必处理整个表。 -
@Barmar 您应该将其添加为答案...
-
您的
date列的类型是什么?它是一个日期,还是像YYYY-MM这样的字符串?按日期分组如何只返回每个月的一行,而不是每个月的每一天的行? -
它是一个字符串,YYYY-MM。而且是每月一排,给我每月的总数
-
不应标记为 PHP,因为它只涉及 MySQL
标签: php mysql sql sql-order-by