Gibt es eine einfache und schnelle Möglichkeit, den Rang eines Feldes in einer Datenbank mit Ruby on Rails zu berechnen? Wenn ich zum Beispiel eine math_scores-Tabelle habe und eine MathScore.find (: all,: condtions => ...: order => ...) finden möchte, dann iteriere sie alle, um herauszufinden, wo das Testergebnis fällt, aber es muss einen einfacheren Weg geben ... Irgendeinen Rat?Ruby on Rails berechnet "Rang" basierend auf Datenbankwerten?
Hier einige Informationen über das Schema, es ist nur eine einfache Tabelle:
first_name varchar (50)
last_name varchar (50)
test_id int
Partitur float
Klarstellung: Ich denke, durch Frage ist näher, wie würde ich den Rang Wert abrufen, wenn Sie tun: rank = MathScore.find_by_sql ("whlen Sie count (*) als Rang aus (whlen Sie * aus math_scores where score> (whlen Sie aus high_scores where test_id = 33 AND first_name = 'John' UND last_name = 'Doe') order by score desc) wie s ")
Ich bekomme [#<HighScore:0x6ca4724 @attributes={"rank"=>"3"}>]:Array
basierend auf der Abfrage, aber wie komme ich auf den Rang Wert?
Vielen Dank im Voraus, Ben
Können wir weitere Informationen über das Schema erhalten, das Sie haben? Und wie wird dieser Rang berechnet? – MatthewFord