【发布时间】:2012-02-21 19:18:45
【问题描述】:
我正在尝试从另一个查询中选择一些数据。 SQL 将如下所示:
SELECT user_id, rank FROM
(SELECT user_id, MAX(created_at) as latest_solution, COUNT(*) AS solved,
rank() OVER (ORDER by COUNT(*) desc) AS rank FROM submissions group by user_id)
as leaderboard WHERE leaderboard.user_id = xx
但我在尝试将其翻译成 activerecord 语言时遇到了麻烦
我认为我可以使用以下子查询:
Submission.select('user_id, MAX(created_at) as latest_solution, COUNT(*) as solved, rank() OVER (ORDER BY count(*) desc) as rank').group('user_id')
但我不知道如何将其用作“表格”。
【问题讨论】:
标签: sql ruby-on-rails ruby-on-rails-3 activerecord subquery