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_item 테이블의 것들이며, 이 테이블은 directory_item.rb에서 다양한 사용자 테이블의 항목들을 SUM하고 COUNT하여 구성됩니다.

user_stat.rb 파일에서 distinct_badge_count를 발견했는데, 이것이 전 기간에 대한 것이라면 괜찮겠지만, 우리는 다양한 리더보드 기간을 원합니다. 또한 이 목적을 위해 distinct를 사용하지 않는 것이 더 나을 수도 있습니다.

아마도 since 날짜 이후에 granted_at 값이 있는 user_badges에서 카운트하도록 거대한 SQL 쿼리에 추가하는 것만으로도 충분할 것 같습니다.

아, 그리고 활성화된 배지만 확인하고 카운트해야 할 것 같기도 합니다.

2개의 좋아요

사용자 페이지에 배지 수를 추가하는 것이 기술적으로 얼마나 어려운지는 정확히 알 수 없지만, 이제 사용자 페이지에 선택적인 디렉터리 항목을 추가할 수 있게 되었으므로 배지 수를 추가하는 것이 논리적인 확장이라고 생각합니다. 이렇게 하면 사용자 페이지가 리더보드 역할을 더 잘 수행할 수 있을 것입니다.

단순한 제안이지만, directory_items 테이블에 badges_received 열을 추가하는 방식으로 이 문제를 해결할 수 있을까요?

2개의 좋아요

모든 시간대의 합계(all time count)를 찾고자 해서, 님의 안내 덕분에 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개의 좋아요