Ja, am besten fügen Sie dies hinzu, indem Sie einen Abschnitt zur WHERE-Klausel in der Abfrage hinzufügen und nach dem Thema title filtern.
Zum Beispiel:
WHERE archetype = 'private_message'
AND subtype = 'system_message'
AND created_at BETWEEN :start_date AND :end_date
AND title = 'Greetings!'
würde alle Greetings!-Nachrichten finden.
Beachten Sie, dass einige der Systemnachrichten keinen echten Benutzer enthalten. Daher ist es möglicherweise notwendig, die Zeile AND user_id > 0 bei dieser Art von Abfrage zu entfernen.
Sie möchten möglicherweise auch AND deleted_at IS NULL entfernen, um Willkommensnachrichten mitzuzählen, die Benutzer möglicherweise löschen.
Sie könnten Regex verwenden, um Themen mit ähnlichen Titeln abzugleichen.
Um ein Thema anhand seines Titels mit einem regulären Ausdruck (Regex) in PostgreSQL abzugleichen, können Sie den Operator ~ verwenden, der einen regulären Ausdruck mit einer Zeichenkette abgleicht. Die Abfragestruktur würde wie folgt aussehen:
SELECT *
FROM topics
WHERE title ~ 'YourRegexPatternHere'
Ersetzen Sie 'YourRegexPatternHere' durch das tatsächliche Regex-Muster, das Sie gegen das Feld title abgleichen möchten.
Wenn Sie beispielsweise nach Themen suchen, deren Titel das Wort „Welcome“ (Groß-/Kleinschreibung wird nicht beachtet) enthalten, könnten Sie Folgendes verwenden:
SELECT *
FROM topics
WHERE title ~* 'Welcome'
Der Operator ~* wird für den Abgleich ohne Berücksichtigung der Groß-/Kleinschreibung verwendet.