Ruby on Railsを使用してデータベース内のフィールドのランクを計算する簡単かつ迅速な方法はありますか?たとえば、私がmath_scoresテーブルを持っていて、与えられたMathScore.find(:all、:condtions => ...:order => ...)を探したい場合、それらのすべてを繰り返してどこを見つけるかテストスコアは下がりますが、もっと簡単な方法が必要です...アドバイスはありますか?Ruby on Railsはデータベースの値に基づいて「ランク」を計算しますか?
ここでスキーマ上のいくつかの情報があります、それだけの単純なテーブルです:
のfirst_nameのVARCHAR(50)
のlast_nameのはvarchar(50)
test_id int型
スコアフロート
明確化: 私は、次のように質問すると、ランクの値をどのように取得するのでしょうか: rank = MathScore.find_by_sql(score_(スコアはhigh_scoresからスコアを選択します。ここで、test_id = 33 AND first_name = 'John' AND last_name = 'Doe')スコア順で順位を選択します(select count * from math_scores )as s ")
クエリに基づいて[#<HighScore:0x6ca4724 @attributes={"rank"=>"3"}>]:Array
が得られますが、どのようにランク値で取得できますか?事前に
おかげで、 ベン
あなたが持っているスキーマに関するさらに詳しい情報はありますか? このランクはどのように計算されますか? – MatthewFord