Dovresti goderti il badge di Natale!

Dovrebbe essere un periodo di festa natalizia!

Questo codice assegna un badge a ogni utente che effettua il login tra il “Giorno dell’anno” 358 e i primi 2 giorni del nuovo anno. Formulatelo come preferite!

SQL:

SELECT distinct(user_id), CURRENT_DATE as granted_at  FROM user_visits WHERE
date_part('doy', visited_at) >= 358
OR
date_part('doy', visited_at) <= 2

Ciò che vorrei sia che il badge venga assegnato ogni giorno in cui l’utente visita il sito tra queste due date. Aiuto per favore!

Penso che se aggiungi un altro campo come “visited_at” funzioni.

Stai usando solo user_id e current_timestamp, e sono distinti solo per user_id, perché current_timestamp sarebbe lo stesso per ogni riga.
Se aggiungi visited_at potrebbero essere distinti, e così un badge per ogni giorno.

Ma forse hai già risolto questo :wink:

Edit1: In realtà, non penso che questa query abbia bisogno di distinct.

Costruendo su quanto suggerito da @Rafael_Lima_Vasconce, ho creato quanto segue come esempio di distintivo “Pasqua 2019”.

Non ho alcuna esperienza con SQL, se non quella di modificare i valori numerici in alcune delle query per i distintivi interessanti pubblicate qui, ma non vedo alcun motivo per cui questo non dovrebbe funzionare (supponendo che tu stia ancora cercando una soluzione).

Se desideri che le persone ricevano il distintivo più volte, credo che basti abilitare quell’opzione di spunta durante la configurazione del distintivo. In caso contrario, il distintivo verrà assegnato solo la prima volta che visitano durante il periodo specificato.