Возможно ли добавить столбец с количеством значков? У меня много… э-э… охотников за значками, да, это корректный термин, и они хотят с первого взгляда видеть, кто лидирует по сбору значков.

На данный момент это не запланировано и не входит в дорожные карты.
Спасибо за информацию. Насколько вам известно, кто-то ещё просил что-то подобное, или я единственный, кто сделал такой запрос ![]()
Мне бы тоже этого очень-очень хотелось.
Ruby для меня — чужой и странный язык, а SQL, помимо простого SELECT и, возможно, GROUP BY, вызывает у меня крапивницу, но… насколько я понимаю, данные на странице пользователя могут браться из таблицы directory_items, которая формируется путём суммирования и подсчёта значений в различных таблицах пользователей в файле directory_item.rb.
В файле user_stat.rb я нашёл поле distinct_badge_count, которое подошло бы, если бы речь шла обо всём времени, но нам нужны различные периоды для лидерборда, и для этой цели, вероятно, вообще не нужно использовать distinct.
Мне кажется, что, возможно, всё, что требуется, — это добавить в огромный SQL-запрос условие подсчёта записей из таблицы user_badges, где дата granted_at позже значения since?
О, хотя, наверное, ещё нужно проверять и учитывать только те значки, которые включены.
Я не уверен в технической сложности добавления подсчёта значков на страницу пользователей, но теперь, когда мы разрешили добавлять необязательные элементы каталога на страницу пользователей, кажется, что подсчёт значков был бы логичным дополнением. Это помогло бы сделать страницу пользователей больше похожей на таблицу лидеров.
Просто мысль, но было бы возможным решением добавить столбец badges_received в directory_items?
Я ищу общее количество, поэтому, следуя вашим указаниям, я извлек этот запрос из user_stat.rb, выполнил его в Data Explorer, и получил список всех пользователей с их количеством бейджей:
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