Would it be possible to get a column added for badge count? I have a lot of badge…um…hounds, yeah that’s the PC word, and they want to see at a glance who is in the lead in terms of collecting the most badges.
It’s not planned or on any roadmaps at the moment.
Thanks for the info - has anyone else asked for something like this, to your knowledge, or am I the lone requestor 
J’aimerais vraiment vraiment ça aussi.
Ruby est une langue étrangère étrange pour moi, et SQL au-delà de simples SELECT et peut-être GROUP BY me donne des démangeaisons, mais… d’après ce que je comprends, les éléments de la page utilisateur peuvent provenir de la table directory_items, qui est construite en additionnant et en comptant des éléments dans diverses tables utilisateur, dans directory_item.rb.
Dans user_stat.rb, je trouve un distinct_badge_count, ce qui serait bien si c’était pour toujours, mais nous voulons les différentes périodes de temps du classement, et aussi pour cet usage, nous ne voulons probablement pas distinct de toute façon.
Je pense que tout ce qui est nécessaire est d’ajouter à l’énorme requête SQL pour compter à partir de user_badges où la date granted_at est après since ?
Oh, bien que je suppose qu’il faille aussi vérifier et ne compter que les badges qui sont activés.
Je ne suis pas sûr de la difficulté technique de l’ajout de compteurs d’insignes à la page des utilisateurs, mais maintenant que nous autorisons l’ajout d’éléments de répertoire facultatifs à la page des utilisateurs, il semble que les compteurs d’insignes seraient un ajout logique. Cela aiderait à faire de la page des utilisateurs une sorte de classement.
Ce n’est qu’une idée, mais serait-il possible d’ajouter une colonne badges_received à directory_items pour aborder le problème ?
Je recherche un décompte de tous les temps, donc grâce à vos instructions, j’ai extrait cette requête de user_stat.rb et je l’ai exécutée dans l’explorateur de données, ce qui m’a donné une liste de tous les utilisateurs avec leur nombre d’insignes :
SELECT users.id user_id, COUNT(distinct user_badges.badge_id) distinct_badge_count
FROM users
LEFT JOIN user_badges ON user_badges.user_id = users.id
AND (user_badges.badge_id IN (SELECT id FROM badges WHERE enabled))
GROUP BY users.id
ORDER BY distinct_badge_count DESC