Sì, il modo migliore per aggiungerlo sarebbe aggiungere una sezione all’istruzione WHERE nella query, filtrando per il title dell’argomento.
Ad esempio:
WHERE archetype = 'private_message'
AND subtype = 'system_message'
AND created_at BETWEEN :start_date AND :end_date
AND title = 'Greetings!'
Troverebbe tutti i messaggi Greetings!.
Nota che alcuni messaggi di sistema non includono un utente reale, quindi potrebbe essere necessario rimuovere la riga AND user_id > 0 con questo tipo di query.
Potresti anche voler rimuovere AND deleted_at IS NULL per contare comunque i messaggi di benvenuto che gli utenti potrebbero eliminare.
Potresti usare le espressioni regolari (regex) per trovare argomenti con titoli simili.
Per trovare un argomento tramite titolo utilizzando un’espressione regolare (regex) in PostgreSQL, puoi utilizzare l’operatore ~, che confronta un’espressione regolare con una stringa. La struttura della query sarebbe la seguente:
SELECT *
FROM topics
WHERE title ~ 'YourRegexPatternHere'
Sostituisci 'YourRegexPatternHere' con il pattern regex effettivo che desideri confrontare con il campo title.
Ad esempio, se stai cercando argomenti con titoli che contengono la parola “Welcome” (ignorando maiuscole/minuscole), potresti usare:
SELECT *
FROM topics
WHERE title ~* 'Welcome'
L’operatore ~* viene utilizzato per il confronto che ignora maiuscole/minuscole.