Hilfe bei SQL - autoclose/repeat results/Wochenfilter

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.

  1. Wenn ich diese Abfrage ausführe, wird dasselbe Thema Hunderte Male angezeigt. Wie kann ich das beheben?

  2. Gibt es eine Möglichkeit, zu erfahren und anzuzeigen, wann ein Thema automatisch geschlossen wird?

  3. 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

Versuchen Sie, dies nach der Zeile WHERE hinzuzufügen.

 AND t.id = dvc.topic_id

Ich habe es nicht getestet, aber ich denke, das ist Ihr großes Problem (behebt das Problem mit dem „gleichen Thema“)

1 „Gefällt mir“

Super! Danke Jay, es funktioniert :smiley:

Wüsstest du, wie man mit den anderen Problemen umgeht?

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

und fügen Sie dies nach WHERE hinzu

    AND tt.topic_id=t.id

(genau wie das, was Sie zuvor hinzugefügt haben).

1 „Gefällt mir“

Danke nochmal, Jay, du bist ein Lebensretter (:

1 „Gefällt mir“

Wow! Das hat funktioniert? Das ist großartig. Schön, dass es geholfen hat.

2 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.