Вы можете использовать этот запрос для создания пользовательских значков на уровне участников:
SQL-запрос
SELECT user_id, current_timestamp granted_at
FROM user_badges
JOIN badges
On user_badges.badge_id = badges.id
WHERE badges.badge_type_id = 3
GROUP BY user_id
HAVING count(*) >= 15
badge_type_ids
Бронза: 3
Серебро: 2
Золото: 1
Другой вариант, если вы хотите иметь более 3 групп целевых значков, — собрать их в пользовательские разделы, а затем выполнять запрос по badge_grouping_id. Например, здесь с 4 званиями пиратского экипажа:
SQL-запрос
SELECT user_id, current_timestamp granted_at
FROM user_badges
JOIN badges
On user_badges.badge_id = badges.id
WHERE badges.badge_grouping_id = 1
GROUP BY user_id
HAVING count(*) >= 10
badge_grouping_ids
Начало работы: 1
Сообщество: 2
Публикации: 3
Уровень доверия: 4
Другое: 5
А затем подсчитывайте значения для ваших пользовательских разделов.

