Hallo, ich habe eine Abfrage (unten) erstellt, die Thema, Kategorie, die Anzahl der Stimmen eines Themas, ob es geschlossen ist, wann es erstellt wurde und der Benutzer, der es erstellt hat, anzeigt. Wenn weitere Informationen benötigt werden, lassen Sie es mich bitte wissen.
Ich habe ein paar Probleme und Fragen, bei denen ich Hilfe oder Anleitung benötige, da ich neu bei SQL bin.
Wenn ich diese Abfrage ausführe, wird dasselbe Thema Hunderte Male angezeigt. Wie kann ich das beheben?
Gibt es eine Möglichkeit, zu erfahren und anzuzeigen, wann ein Thema automatisch geschlossen wird?
Ich möchte nur Themen anzeigen, die innerhalb einer Woche liegen. Aber das von mir hinzugefügte date_trunc zeigt einige Elemente etwas mehr als eine Woche alt an?
SELECT
t.id as topic_id,
t.category_id,
dvc.votes_count,
t.closed,
t.created_at,
t.user_id
FROM topics t, discourse_voting_topic_vote_count dvc
WHERE t.closed = true
AND t.category_id = 20
AND dvc.votes_count >= 1
AND t.created_at <= date_trunc('week', current_date)::date
AND t.created_at >= date_trunc('week', current_date)::date - 7
Meine Vermutung bei (3) ist, dass es sich um ein Zeitzonenproblem handelt und/oder dass es auf die Sekunde basiert, in der Sie das Skript ausführen, und Sie den vorherigen oder nächsten Mitternacht wünschen. (Ich bin mir nicht ganz sicher, wie ich eines davon auf die Schnelle beheben kann).
Ich bin mir nicht sicher, ob das hilft, aber Sie können es versuchen
Um herauszufinden, wann sie schließen werden, müssten Sie etwas zum SELECT-Teil hinzufügen (was Sie aus den verfügbaren Feldern ableiten können) und FROM ändern, wie z. B.
FROM topics t, discourse_voting_topic_vote_count dvc, topic_timers tt