Distintivos para 10 e 100 edições na wiki em todos os tópicos

Continuando a discussão de As consultas de emblema padrão:

Estou tentando criar um emblema de prata para 10 edições de wiki (em todas as postagens) e um emblema de ouro para 100 edições de wiki - no entanto, nem eu nem o Auxiliar do Fórum estamos chegando a lugar algum.

Alguma sugestão?

Tenho brincado com este tipo de formato para evitar o problema de MIN/MAX de atribuir a data granted_at incorreta ao trazer um distintivo ‘no meio do fluxo’ (eles tendem a funcionar melhor quando as pessoas ainda não atingiram os critérios antes que o distintivo seja introduzido).

Então, possivelmente algo como isto:

SELECT 
    user_id,
    created_at granted_at
FROM (
    SELECT 
        pr.user_id,
        pr.created_at,
        ROW_NUMBER() OVER (PARTITION BY pr.user_id ORDER BY pr.created_at) as row_number
    FROM post_revisions pr
    INNER JOIN badge_posts p ON p.id = pr.post_id
    WHERE p.wiki = TRUE
      AND pr.hidden = FALSE
      AND pr.user_id > 0
) AS revisions
WHERE row_number = 100

(Não incluí o ‘não incluir tópicos ou posts excluídos’ usual, pois edições em wikis antigas provavelmente ainda devem contar. Não adicionei o backfill também, mas acho que este seria ‘atualizar diariamente’ como o gatilho?)

2 curtidas

Legal! É para fazer 100 edições em posts de wiki ou editar 100 posts de wiki?

Isso são 100 revisões de posts de wikis, então editar um post cem vezes (ou cem vezes e mais uma) concederia o distintivo.

2 curtidas

Depois de pensar um pouco mais (e uma pequena conversa com o Bert :slight_smile:), acho que ROW_NUMBER seria a melhor escolha para este. Vou editar a consulta acima. :+1:

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.