Nutzer mit erstem Beitrag innerhalb des Zeitraums

Hallo! Ich bin ein SQL-Anfänger. Ich würde gerne eine Liste von Erstbeiträgen nach Benutzernamen innerhalb eines definierten Zeitraums abrufen können.

Hinweis: Es geht um den ersten Beitrag, nicht um die Registrierung. Unser Anwendungsfall unterscheidet sich von den meisten, daher ist der Beitrag entscheidend.

Hat jemand so etwas schon umgesetzt? Jegliche Unterstützung wird sehr geschätzt!

DANKE!

1 „Gefällt mir“

Das sollte funktionieren, @ThunderThighs. Füge es in deinen Data Explorer ein, gib das Start- und Enddatum ein, und schon kann es losgehen. Die Daten müssen einem unterstützten Format entsprechen, eines davon ist YYYY-MM-DD.

Benutzer mit erstem Beitrag im Zeitraum

-- [params]
-- date :start_date
-- date :end_date

SELECT username
FROM users u
JOIN user_stats us
ON u.id = us.user_id
WHERE us.first_post_created_at BETWEEN :start_date::date AND :end_date::date
13 „Gefällt mir“

Das ist super hilfreich.

Wie würdest du das erweitern, um diese Beiträge tatsächlich abzurufen?

Würde so etwas Ihren Anforderungen entsprechen?

-- [params]
-- date :start_date
-- date :end_date

SELECT u.id AS user_id, p.id AS post_id, p.created_at
FROM users u
JOIN user_stats us
ON u.id = us.user_id
JOIN posts p
ON u.id = p.user_id
WHERE p.created_at = us.first_post_created_at
AND us.first_post_created_at BETWEEN :start_date::date AND :end_date::date
5 „Gefällt mir“

Das ist perfekt. Vielen Dank.

Darf ich eine Frage stellen, die für SQL-Anfänger typisch ist: Was bewirken das u und das us in den Zeilen zwei und drei? Funktionieren sie ähnlich wie AS, sodass users nun mit dem Präfix u und user_stats mit dem Präfix us angesprochen werden können?

2 „Gefällt mir“

Kein Problem!

Das ist korrekt. Die u und us sind Tabellennamen-Aliase. Weitere Informationen dazu findest du hier: http://www.postgresqltutorial.com/postgresql-alias/

Es handelt sich im Wesentlichen um eine Abkürzung. Sie ermöglicht es dir, us.user_id anstelle von user_stats.user_id zu verwenden, um auf die Spalte user_id in der Tabelle user_stats zu verweisen. Das ist besonders hilfreich bei langen Tabellennamen und komplexen Abfragen.

7 „Gefällt mir“