Abfrage für 'Themen ohne Antwort' replizieren

Hallo!

Ich hoffe, ich kann verstehen, welcher Prozentsatz der neuen Themen in einer bestimmten Kategorie in der ersten Woche keine Antwort erhalten hat und welcher Prozentsatz in der ersten Woche gelöst wurde. Hier ist meine Abfrage:

-- [params]
-- string :start_date = 2021-10-06
-- string :end_date = 2021-10-12

WITH solved_topics as
(SELECT
    t.created_at::DATE,
    t.id,
    count(distinct case when u.action_type=15 and u.created_at < (t.created_at + INTERVAL '1 week') and u.target_topic_id=t.id then 1 ELSE NULL END) as solves,
    count(distinct case when p.created_at < (t.created_at + INTERVAL '1 week') and p.topic_id=t.id and p.post_number>1 then 1 ELSE NULL END) as responses
from topics t
join user_actions as u
    on u.target_topic_id = t.id
join posts as p
    on p.topic_id = t.id
where t.created_at BETWEEN :start_date AND :end_date
AND t.user_id > 0
AND p.deleted_at is NULL 
AND t.category_id is NOT NULL 
group by t.created_at::DATE, t.id)

SELECT
    st.created_at as date,
    count(distinct st.id) as "Number of New Topics",
    sum(st.solves)::INT as "# Solved within a week",
    round(sum(st.solves)/count(distinct st.id), 2) as "% Solved",
    (count(distinct st.id) - sum(st.responses))::INT as "Topics with No Response in First Week",
    round((count(distinct st.id) - sum(st.responses))/count(distinct st.id), 2) as "% with No Response in First Week"
  
    from solved_topics as st
group by date
order by date asc

Ich bin mir sicher, dass es elegantere Wege gibt, dies zu tun, aber ich habe eine Reihe von Datenpunkten stichprobenartig überprüft, und diese Zahlen stimmen mit dem überein, was ich beim Betrachten einzelner Themen sehe.

Ich würde annehmen, dass für jeden Tag innerhalb der letzten Woche der Bericht unter /admin/reports/topics_with_no_response die gleiche Anzahl von Themen ohne Antwort anzeigen sollte. In den meisten Fällen ist dies auch so; in anderen Fällen zeigt er jedoch mehr Themen ohne Antwort, als ich in meiner Abfrage erhalte.

Haben Sie eine Idee, warum das so sein könnte? Gibt es eine Möglichkeit, die Abfrage zu sehen, die den Bericht „Themen ohne Antwort“ steuert, damit ich diese vergleichen kann?

Vielen Dank im Voraus!

Als ich die Berichtsthemen ohne Antwort mit einer Analyse der Themenliste verglichen habe, stellte ich fest, dass die Zahl im Bericht größer ist, und schloss daraus, dass Themen, die nur Antworten vom ursprünglichen Autor haben, als ohne Antwort gezählt werden.
Ich kann nicht mit Sicherheit sagen, dass dies der Grund für den von Ihnen bemerkten Unterschied ist, da ich dies nicht überprüfen konnte, da Ihre Abfrage nicht die aktuellen Zahlen, sondern nur die Zahlen „nach 1 Woche“ liefert. Und ich bin nicht so gut in SQL.