Dovrei essere in grado di eseguire qualsiasi query per i badge in Data Explorer?
Voglio creare una query personalizzata per i badge partendo da “Appreciated”. Scrivo la query per “Appreciated” in Data Explorer:
SELECT p.user_id, current_timestamp AS granted_at
FROM posts AS p
WHERE p.like_count >= 1
AND (:backfill OR p.user_id IN (:user_ids))
GROUP by p.user_id
HAVING count(*) > 20
Questo restituisce un errore:
missing value for :backfill
Capisco vagamente che il “:” indica una “variabile legata” che migliora l’efficienza. Ho provato a rimuovere la parte relativa al backfill, ma questo genera un altro errore.
You will need to leave out the AND (:backfill OR p.user_id IN (:user_ids)) condition to run the query in the Data Explorer. :backfill and :user_ids both expect parameters to be passed to them.
Thanks, it seems to work fine without the AND clause. Can you tell me what the clause does (assuming it gets the parameters passed in), so I can decide whether to keep it?
If your badge is triggered by a user acting on a post, then you need to include this condition. The best description I’ve seen of how the :backfill and :user_ids parameters are used in badge queries is in the ‘Triggered badges have 2 extra constraints’ section of Create Triggered Custom Badge Queries.