如果這個解釋不是100%清楚,我很抱歉。用分頁過濾
我想根據用戶的評級列出用戶的順序(然後按其用戶名排序)。實際上我試圖對結果進行分頁,因爲可能會有大量的結果。
我有兩個表:
- 表答:列 「用戶id」
- 表B:與列 「等級」 和 「用戶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大的顯示結果篩選結果將很容易。但是,由於我根據SUM(評級)排序了結果,因此實際上沒有順序排序系統。
即使我的用戶標識在結果中沒有按順序排序,是否有一種很好的方法來過濾我的結果以進行分頁?
whats you host ide?或者只是純粹的SQL? – Simon
只是純粹的Mysql – user1059872
我能想到的唯一的事情就是可以在這裏工作,就是創建另一個填充了用戶ID評級順序的表。你會保持這個更新的日期日期評分改變。因此,當您運行整體查詢時,請使用此表與您的表B連接,並按照條款 – Simon