0
我有一個用戶模型和一個項目模型。我想根據他們擁有的物品的價值對用戶進行排名。我想要做相當於這個查詢:我將如何使用Arel執行此查詢?
SELECT rank() OVER (ORDER BY grand_total DESC), u.*, grand_total
FROM users AS u
JOIN
(SELECT user_id, SUM(amount) AS grand_total FROM items WHERE EXTRACT(YEAR FROM sold_at)='2012' GROUP BY user_id) AS i
ON u.id = i.user_id;
具體來說,我不知道如何加入我的選擇。
我需要數字排名和總數來達到我的目的,所以我不能像你所做的那樣將它們合併到一個列中。另外,我意識到我離開了必須將其限制在某一年的部分,我在回答後添加了這一部分。 但是,我真的很感謝你的回答,我得到了一些關於我如何正確完成我的arel連接子句的很好的信息。 – phaedryx
以下是我的解決方案:https://gist.github.com/3768744 – phaedryx