php - 使用 Total For Sum 函数排序

标签 php mysql sql-order-by auto-increment autonumber

    <?
$tablae = mysql_query("SELECT * FROM order_history where (type!='rent_referral' AND type!='rental_balance') AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "'  GROUP BY user_id"); 
while ($order = mysql_fetch_array($tablae)) { 

?>
<tr>
<?
$tablaes = mysql_query("SELECT * FROM members where id='$order[user_id]'"); 
$user = mysql_fetch_array($tablaes);
$idsd=$user['id'];
$rPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE (type!='rent_referral' AND type!='rental_balance') AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "'");
$hdPaid = mysql_fetch_array($rPaid);
$sPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE user_id='$idsd' AND (type!='rent_referral' AND type!='rental_balance') AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "'");
while ($hPaid = mysql_fetch_array($sPaid)) { 
?>
<td><?=$user['username']?></td>
<td><?=$hPaid['total']?></td>
<?  
}
?>

</tr>

<? } ?>

这给了我这个结果 http://dl.dropbox.com/u/14384295/test.jpeg

我想按 DESC 排序总价。

我需要

$sPaid=mysql_query("SELECT SUM(`price`) AS total FROM order_history WHERE user_id='$idsd' AND (type!='rent_referral' AND type!='rental_balance') AND date>'" . strtotime($time1) . "' AND date<'" . strtotime($time2) . "'");

由 DESC 订购的总数。

最佳答案

在 SQL 查询中使用 GROUP BY 指令时要非常小心。结果中的所有列并且不是聚合表达式(表达式是在组上而不是在行上工作的计数、SUM、最大值等)应该在您的 group by 表达式中; 这里您使用了 select *,您应该尝试列出真实的列,并在您的分组依据中获取此列表,或者仅使用 SELECT user_id。

大多数数据库都会阻止您运行这种格式不正确的分组查询,但 MySQl 不会保护您,这并不意味着如果您不期望此规则,他不会给您完全错误的结果(所有非聚合列必须位于分组依据中)。

然后,您应该能够通过在 order 子句中重用该表达式而不是其别名来按聚合表达式进行排序。

关于php - 使用 Total For Sum 函数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4510531/

相关文章:

mysql - 在 mySQL 中表示新闻帖子

php - 具有变量函数的审查系统

PHP - 从 MySQL 表中获取大数组的有限 block

MySQL更新查询与左连接和分组依据

php - 无法通过 CakePHP 表单更新数据库中的数据

sql - 按最大条件匹配排序

mysql - 首先是特定的 Id

MySQL order by 在从两个表中选择时被忽略

php - 将字符串从 html 文件中的表单传递到符合 utf-8 编码的 python 脚本

php - 如何分解数组并插入到 MySQL 中