选择最后10个用户ID的每个用户ID的每条记录

时间:2019-03-05 22:50:27

标签: mysql sql select id

我当前的简单查询是

SELECT * FROM myTable

它返回表中的每一行。现在,我希望它返回最后10个 userID 的每一行,但是有些userID有2条记录,有些4有,等等5条。

2 个答案:

答案 0 :(得分:0)

如果最后10 userId是指数字最大的数字,则可以执行以下操作:

select t.*
from myTable t
where t.userId >= (select distinct t2.userId
                   from mytable t2
                   order by t2.userId desc
                   limit 9, 1
                  );

以上假设您拥有至少10个用户ID。您可以使用以下方法解决此问题:

select t.*
from myTable t
where t.userId >= (select min(t2.userId)
                   from (select distinct t2.userId
                         from mytable t2
                         order by t2.userId desc
                         limit 10
                        ) t2
                  );

答案 1 :(得分:0)

选择T. * 从myTable作为T 内部联接 (   从myTable中选择不同的前10个用户ID   按用户ID desc排序 )作为T.userid = Q.userid上的Q