我是SQL(ite)的新手,所以我很抱歉,如果有一個簡單的答案,我只是愚蠢地找到正確的搜索條件。SQLite:從分組和排序的結果中選擇
我得到2個表格:1爲用戶信息和另一個用戶實現的持有點。這對於許多關係來說很簡單(用戶可以多次獲得積分)。
表1中包含「用戶ID」和「用戶名」 ...
表2中包含「用戶ID」和「金額」 ......
現在我想獲得高分排名對於一個給定的用戶名。 要獲得高分我所做的:
SELECT Username, SUM(Amount) AS total FROM table2 JOIN table1 USING (userID) GROUP BY Username ORDER BY total DESC
我怎麼能選擇一個用戶名,並從分組和排序結果得到它的位置?我不知道子選詞如何看起來像我的目標。在單個查詢中甚至可能嗎?
@CL,因爲你標記爲[this]的重複(http://stackoverflow.com/questions/5682886/retrieve-rank-from-sqlite-table),你能解釋一下如何使用'count(*)'來查詢分組和訂購?否則理查德是正確的,我必須在應用程序中或創建一個臨時表。 – ldr
子查詢通過WHERE中的比較隱式排序。對於分組,請使用相關的子查詢。 –
可悲的是我不知道/理解如何做到這一點。這就是爲什麼我首先問這個問題。你能發佈一個基於我給出的數據的工作代碼嗎,所以我可以理解你試圖暗示我的方向嗎?我已經覺得自己沒有得到它,所以我真的很感激它。 – ldr