搜索MySQL数据库表,按SUM排序结果

时间:2014-05-27 06:12:35

标签: php mysql sql sum

与昨天的问题类似:

我有一个数据库表'sales_list'。这是属于users_sales_guild_id的销售记录行。我想通过每个用户的'sales_points'字段的SUM查询表并订购结果,最高点到最低点。

我发现另一个关于SO的问题我认为可以解决我的问题 - MySQL: how to sum up vaues of rows and sort the result? - 但它似乎没有完全达到标记。

我认为这个查询可以做到,但是没有...

    $total_query = "SELECT users_sales_guild_new_id, SUM(sales_points) AS total_sales_points 
                    FROM sales_list
                    WHERE sales_entry_date BETWEEN '2013-10-01 00:00:00' AND '2013-12-31 23:59:59' 
                    GROUP BY users_sales_guild_new_id
                    ORDER BY total_sales_points DESC";

此查询仅返回1条记录。而不是由每个用户按销售点的SUM排序的记录选择。

非常欢迎您的协助。

1 个答案:

答案 0 :(得分:1)

试试这个 - >您无法将别名传递给order by。

$total_query = "SELECT users_sales_guild_new_id, SUM(sales_points) AS total_sales_points 
                    FROM sales_list
                    WHERE sales_entry_date BETWEEN '2013-10-01 00:00:00' AND '2013-12-31 23:59:59' 
                    GROUP BY users_sales_guild_new_id
                    ORDER BY SUM(sales_points) DESC";