我有以下SQL语句。max(),按组排序按
SELECT t.client_id,max(t.points) AS "max" FROM sessions GROUP BY t.client_id;
它只是列出客户端ID与他们已经取得的最大数量的点。现在我想按max(t.points)排序结果。通常我会使用ORDER BY,但我不知道如何将它用于组。我知道使用SELECT列表中的值在以下子句中是被禁止的,所以在查询结尾添加ORDER BY max将不起作用。
如何在分组后对结果进行排序?
问候
谢谢你的快速回答。我只是想出了点列实际上是字符变化(),所以我用了数字函数,现在它工作。 – stilz 2011-06-09 20:32:05
为什么不在表中使用正确的数据类型?这也会加快查询速度,在该列上创建索引并且查询速度会更快。当您需要一个数字时,varchar上的索引不起作用。 – 2011-06-09 20:35:51
对不起,我没有建立这张表,也没有权利改变它的结构。只需为现有的CRM编写一些软件即可。我要告诉管理员改变这一点。 – stilz 2011-06-09 20:42:41