如何使用2个不同的ID进行分组和排序

时间:2015-10-02 11:03:34

标签: php mysql

大家好我有一张有user_id和自动递增ID的表

user_id|points|id
  3432 |400   |1
  3431 |99    |2
  3333 |340   |3
  4671 |34    |4
  9911 |700   |5
  3432 |100   |6
  3333 |841   |7

我的目标是创建一个sql,它将基于更高的点对user_id进行排序,但考虑到该user_id的最后一个自动递增的Id。我需要我的输出是这样的

 user_id|points
 3333   |841
 9911   |700
 3432   |100
 3431   |99
 4671   |34

但是它只选择user_id及其第一个意思而不是

    3432 |100 

正在做         3432 | 400

检查下面的MYSQL

 SELECT * From points_table where points < 3000 GROUP BY user_id ORDER BY  points DESC.

1 个答案:

答案 0 :(得分:2)

您只需要最后一条记录,然后对它们进行排序。这是一种方式:

select pt.*
from points_table pt
where pt.id = (select max(pt2.id) from points_table pt2 where pt2.user_id = pt.user_id)
order by pt.points desc;