Insignias por 10 y 100 ediciones en wiki en varios temas

Continuando la discusión de Las consultas de insignias predeterminadas:

Estoy intentando crear una insignia de plata por 10 ediciones de wiki (en todas las publicaciones) y una insignia de oro por 100 ediciones de wiki, pero ni yo ni el Ayudante del Foro estamos logrando nada.

¿Alguna sugerencia?

He estado jugando con este tipo de formato para evitar el problema de MIN/MAX de asignar la fecha granted_at incorrecta al incorporar una insignia ‘a mitad de camino’ (tienden a funcionar mejor cuando las personas aún no han cumplido los criterios antes de que se introduzca la insignia).

Así que, posiblemente algo como esto:

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

(No he incluido lo habitual de ‘no incluir temas o publicaciones eliminadas’, ya que las ediciones de wikis antiguas probablemente deberían seguir contando. Tampoco he añadido el relleno, pero creo que este sería ‘actualizar diariamente’ como disparador).

2 Me gusta

¡Genial! ¿Es para hacer 100 ediciones en publicaciones de wiki o para editar 100 publicaciones de wiki?

Eso son 100 revisiones de publicaciones de wikis, por lo que editar una cien veces (o cien una vez) desbloquearía la insignia.

2 Me gusta

Después de un poco de reflexión adicional (y una pequeña charla con Bert :slight_smile:), creo que ROW_NUMBER sería la mejor opción para este. Editaré la consulta anterior. :+1:

2 Me gusta

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