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.