Badge per 10 e 100 modifiche wiki su tutti gli argomenti

Continuando la discussione da Le query predefinite per i badge:

Sto cercando di creare un badge d’argento per 10 modifiche wiki (su tutti i post) e un badge d’oro per 100 modifiche wiki, ma né io né l’aiutante del forum stiamo ottenendo risultati.

Hai qualche suggerimento?

Sto giocando con questo tipo di formato per evitare il problema MIN/MAX di assegnare la data granted_at errata quando si introduce un badge ‘nel mezzo del processo’ (tendono a funzionare meglio quando le persone non hanno già soddisfatto i criteri prima che il badge venga introdotto).

Quindi, forse qualcosa del genere:

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

(Non ho incluso il solito ‘non includere argomenti o post eliminati’ poiché le modifiche ai vecchi wiki dovrebbero probabilmente essere ancora conteggiate. Non ho aggiunto nemmeno il riempimento, ma penso che questo sarebbe ‘aggiorna giornalmente’ come trigger?)

2 Mi Piace

Bello! È per fare 100 modifiche in post wiki, o modificare 100 post wiki?

Ciò significa 100 revisioni di post su wiki, quindi modificarne uno cento volte (o cento e una) farebbe ottenere il badge.

2 Mi Piace

Dopo un’ulteriore riflessione (e una piccola chiacchierata con Bert :slight_smile:) penso che ROW_NUMBER sarebbe la scelta migliore per questo. Modificherò la query sopra. :+1:

2 Mi Piace

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