User モデルと Item モデルがあります。持っているアイテムの価値に応じてユーザーをランク付けしたい。このクエリと同等のことをしたい:
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;
具体的には、自分の選択に参加する方法がわかりません。