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

「いいね!」 1

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:

私もこれを 本当に本当に 望んでいます。

Ruby は私にとって奇妙な外国語であり、単純な SELECT やおそらく GROUP BY 以外は SQL を見ると蕁麻疹が出るのですが… 私が理解したところでは、ユーザーページにあるものは directory_items テーブルからのものであり、これはさまざまなユーザーテーブルのものを SUM および COUNT して構築されており、directory_item.rb にあります。

user_stat.rb では、distinct_badge_count を見つけました。これは永続的なものであれば問題ありませんが、さまざまなリーダーボードの期間が必要であり、この目的のためには distinct はおそらく不要でしょう。

必要なのは、granted_at の日付が since より後の user_badges からカウントするように、巨大な SQL クエリに追加することだけだと思いますか?

ああ、ただし、有効なバッジのみをチェックしてカウントする必要もあると思います。

「いいね!」 2

ユーザーページにバッジカウントを追加する技術的な難易度はわかりませんが、ユーザーページにオプションのディレクトリ項目を追加できるようになった今、バッジカウントを追加するのは論理的な追加のように思えます。これにより、ユーザーページがリーダーボードとしてより機能するようになります。

ちょっとした考えですが、directory_itemsbadges_received 列を追加することは、この問題に取り組むための可能な方法でしょうか?

「いいね!」 2

すべての時間のカウントを探しているので、あなたの指示のおかげで、user_stat.rb からこのクエリをプルし、データエクスプローラーで実行したところ、すべてのユーザーとそのバッジカウントのリストが得られました。

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