Ciao a tutti, ho notato uno strano comportamento durante la modifica e l’esecuzione di una query in Data Explorer. Sto cercando di utilizzare gli operatori WHERE e IN per selezionare solo i post degli argomenti in determinate categorie:
WHERE
t.category_id IN (420, 421, 426)
Tuttavia, non sono sicuro che la condizione WHERE funzioni come previsto: se eseguo la query per periodi antecedenti la creazione delle categorie in questione, elenca semplicemente tutti gli argomenti, indipendentemente dalla categoria. Inoltre, l’operatore IN non cambia colore e mi chiedo se Data Explorer lo riconosca come operatore:
Qualche idea su cosa stia succedendo? Grazie mille!
Hmm. 
L’ho usato in una query molto simile ieri sera e ha funzionato come previsto per me.
Potresti condividere la tua query completa in modo che possiamo vedere se potrebbe esserci qualcos’altro in gioco?
Certo, ecco qui. La query viene utilizzata per recuperare le informazioni necessarie per generare un file di log personalizzato che può essere elaborato da Gource. Vedi: Custom Log Format · acaudwell/Gource Wiki · GitHub
-- Questa query recupera un elenco degli ultimi post,
-- insieme alle informazioni utente e ai dettagli dell'argomento associati.
-- Il risultato è ordinato per data di creazione in ordine crescente.
-- I campi selezionati sono i seguenti:
-- timestamp: un timestamp ISO 8601 o unix di quando è stato creato il post.
-- username: il nome utente dell'utente che ha creato il post.
-- type: un valore codificato 'A' che indica il tipo di azione (in questo caso, 'Aggiunto').
-- topic: l'ID dell'argomento a cui appartiene il post.
-- post_number: il numero univoco del post all'interno del suo argomento.
-- reply_to_post_number: il numero del post a cui questo post è una risposta (se presente).
-- raw: il contenuto del post, limitato ai primi 30 caratteri.
-- category_id: l'ID della categoria a cui appartiene l'argomento.
SELECT
p.created_at as timestamp,
u.username,
'A' as type,
p.topic_id as topic,
p.post_number as post_number,
p.reply_to_post_number as reply_to_post_number,
SUBSTRING(p.raw, 1, 30) AS raw,
t.category_id
FROM
posts p
JOIN
users u ON p.user_id = u.id
JOIN
topics t ON p.topic_id = t.id
WHERE
t.category_id IN (420, 421, 426)
AND t.created_at > '2022-01-01'
ORDER BY
p.created_at ASC
LIMIT 1000
Sembra tutto in ordine.
Quando lo eseguo sulle nostre tre nuove categorie di documenti (create circa 10 giorni fa) usando lo stesso AND t.created_at > '2022-01-01', non vedo dati esterni a tali categorie essere estratti (molti piccoli post d’azione, che potresti voler filtrare a seconda del tuo caso d’uso). Eseguirlo completamente senza AND t.created_at > '2022-01-01' estrae solo dati da tali categorie.