Значки за X созданных решений?

Привет! Я хотел бы узнать, есть ли какой-либо шаблон или стандартный запрос для выдачи бейджей за определённое количество принятых решений? Например, я отвечаю примерно на 10 постов/вопросов, и все они помечаются как решения. За это я получаю бейдж, а также соответствующие бейджи за 20, 30, 40 и более отмеченных решений и так далее.

Я пытался поискать стандартные запросы, но, похоже, их нет. Однако я вижу, что здесь есть некоторые пользовательские запросы.

Спасибо,

С этим плагином поставляется несколько бейджей, которые можно активировать на странице /admin/badges (HelpDesk и TechSupport). Однако вот запросы, если вы захотите их адаптировать:

SELECT p.user_id, p.id post_id, p.updated_at granted_at
FROM badge_posts p
WHERE p.post_number > 1 AND
    p.id IN (
      SELECT post_id FROM (
       SELECT pc.post_id, row_number()
       OVER (PARTITION BY p1.user_id ORDER BY pc.created_at) as rnum
       FROM post_custom_fields pc
       JOIN badge_posts p1 ON p1.id = pc.post_id
       JOIN topics t1 ON p1.topic_id = t1.id
       WHERE name = 'is_accepted_answer' AND
                    p1.user_id <> t1.user_id AND
        (
          :backfill OR
           p1.user_id IN (
                   select user_id from posts where p1.id IN (:post_ids)
           )
       )
) X  WHERE rnum = 1)
SELECT id user_id, current_timestamp granted_at
FROM users
WHERE id  IN (
       SELECT p1.user_id
       FROM post_custom_fields pc
       JOIN badge_posts p1 ON p1.id = pc.post_id
       JOIN topics t1 ON p1.topic_id = t1.id
       WHERE p1.user_id <> t1.user_id AND
                    name = 'is_accepted_answer' AND
            p1.user_id IN (
                   SELECT user_id
                   FROM posts
                   WHERE :backfill OR  p1.id IN (:post_ids)
            )
        GROUP BY p1.user_id
        HAVING COUNT(*) > 9
)

Спасибо, @JammyDodger,

Мне, возможно, потребуется небольшая дополнительная помощь. Есть ли у вас какая-либо документация, в которой указаны селекторы/поля для решения?

Screen Shot 2022-06-06 at 11.05.29 AM

Не переживайте. :slightly_smiling_face: Data Explorer отлично подходит для тестирования запросов перед добавлением их в качестве пользовательских SQL-бейджей (хотя для запросов в Data Explorer часть backfill не требуется).

Хотя, я думаю, что второй запрос выше содержит всю необходимую информацию. Решения хранятся в таблице post_custom_field как is_accepted_answer в столбце name. А второй запрос выдаёт бейдж TechSupport за 10 решений (HAVING COUNT(*) > 9), поэтому для тех, что вы хотите от ОП, вам нужно просто скопировать этот запрос и изменить нижнее число на 19, 29, 39 и так далее.