J'ai une base de données avec des colonnes (nom d'utilisateur, points). Je fais un appel pour retourner certains champs de cette base de données à utiliser dans un programme. Je veux tirer:Rails - comment extraire des données triées de la base de données
- Les 10 utilisateurs avec le plus de points
- Les 5 utilisateurs ci-dessus/en dessous du nom d'utilisateur demandant le classement
Je peux tirer le top 10 assez facilement ...
top_users = UserPoints.find(
:all,
:conditions => ['points > 0'],
:order => "points DESC",
:limit => 10)
Tirer l'entrée spécifique pour le nom d'utilisateur demande est aussi facile avec find_by_username, mais comment pourrais-je déterminer où cet utilisateur est classé? Ensuite, comment allez-vous trouver les 5 utilisateurs ci-dessus et 5 utilisateurs ci-dessous l'utilisateur spécifique (en supposant que l'utilisateur ne figure pas dans le top 10)?
Merci!
-Mark
Pas besoin d'une seule requête pour le moment. Réponse géniale. JE VOUS REMERCIE! – Mark