我当前的简单查询是
SELECT * FROM myTable
它返回表中的每一行。现在,我希望它返回最后10个 userID 的每一行,但是有些userID有2条记录,有些4有,等等5条。
答案 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