Count of badges on user page?

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.

5 „Gefällt mir“

1 „Gefällt mir“

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 :slight_smile:

Das möchte ich auch wirklich wirklich gerne.

Ruby ist für mich eine seltsame Fremdsprache, und SQL jenseits von einfachen SELECT und vielleicht GROUP BY löst bei mir Nesselfieber aus, aber … soweit ich das verstehe, können die Dinge auf der Benutzerseite aus der Tabelle directory_items stammen, die durch SUM und COUNT von Dingen in verschiedenen Benutzertabellen erstellt wird, in directory_item.rb.

In user_stat.rb finde ich einen distinct_badge_count, was in Ordnung wäre, wenn es für alle Zeiten wäre, aber wir wollen die verschiedenen Ranglisten-Zeiträume, und auch für diesen Zweck wollen wir wahrscheinlich sowieso kein distinct.

Ich denke, vielleicht ist alles, was benötigt wird, die riesige SQL-Abfrage zu ergänzen, um aus user_badges zu zählen, wo das granted_at-Datum nach since liegt?

Oh, obwohl ich schätze, es muss auch überprüft und nur die aktivierten Abzeichen gezählt werden.

2 „Gefällt mir“

Ich bin mir über die technische Schwierigkeit der Hinzufügung von Abzeichen-Zählungen zur Benutzerseite nicht sicher, aber da wir jetzt optionale Verzeichniseinträge zulassen, die zur Benutzerseite hinzugefügt werden können, scheint es, dass Abzeichen-Zählungen eine logische Ergänzung wären. Es würde helfen, die Benutzerseite mehr als Rangliste zu gestalten.\n\nNur ein Gedanke, aber wäre das Hinzufügen einer badges_received-Spalte zu directory_items ein möglicher Ansatz für das Problem?

2 „Gefällt mir“

Ich suche nach einer Gesamtzählung, also habe ich dank Ihrer Anleitung diese Abfrage aus user_stat.rb gezogen und im Daten-Explorer ausgeführt. Sie gab mir eine Liste aller Benutzer mit ihrer Auszeichnungsanzahl:

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
1 „Gefällt mir“