如果这个解释不是100%清楚,我会提前道歉。
我正在尝试根据用户的评分顺序列出用户(然后按用户ID排序)。我实际上试图对结果进行分页,因为可能会有大量结果。
我有两张桌子:
还有其他列,但这些是相关的列。
每个用户都可以使用以下值提交组的评级:-1,0或1,记录在“评级”中。通过获得对应于给定组的“状态”评级的净总和来评估每个组的净评级。
我有这个基本查询:
SELECT groupid, userid, SUM(rating)
FROM A LEFT JOIN B ON A.userid = B.userid
GROUP BY A.userid
ORDER BY SUM(rating) DESC, A.userid ASC
但是,我想分页,所以我需要能够根据之前显示的最后一个用户ID选择结果。
通常情况下,根据userid大于上次显示的用户ID的结果过滤结果会很容易。但是,由于我根据SUM(评级)对结果进行排序,因此实际上没有顺序排序系统。
是否有一种很好的方法来过滤我的结果以进行分页,即使我的结果中的用户ID不是按顺序排序的?