Query per Data explorer per ottenere avvisi specifici dei post?

Rispondendo alla mia stessa domanda, ecco una query per Data Explorer per estrarre gli utenti che hanno effettuato il loro primo post più di recente:

-- [params]
-- date :start_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 NOW()
ORDER BY us.first_post_created_at desc

Questa è una piccola modifica della query di @tshenry:

Potrebbe essere migliorata impostando un intervallo di tempo fisso da cui guardare indietro, ad esempio una settimana o un mese, ma questo mi ha messo in difficoltà perché non sono riuscito a capire come far funzionare NOW() - 7 o qualcosa di simile.

Inoltre, escludere i messaggi privati (come in un’altra query di @tshenry) sarebbe fantastico, ma dato che sono un principiante di SQL, ci metterei un sacco di tempo a capire come farlo.