我有一个MySQL语句,花了我一晚上的时间才想出。我想知道这个东西是否可以从直接调用转换为类似Object.find(:conditions)的东西
ActiveRecord::Base.connection.execute("
SELECT *,
(SELECT COUNT(*)
FROM scores AS temp2
WHERE temp2.score > scores.score
ORDER BY score DESC) + 1 AS rank
FROM scores
WHERE user_id=%s
ORDER BY score DESC"
% user_id).fetch_hash
这个声明是为安卓游戏构建的高分网站的一部分。它获得了最高的高分,并且有一个子查询也为它提供了排名。
这个可以做得更好吗?此外,这是最有效的方法吗?
Thanks, Justin