Usuarios con primer publicación dentro del período

Hola. Soy nuevo en SQL. Me gustaría poder obtener una lista de los usuarios que publican por primera vez dentro de un período de tiempo definido.

Ten en cuenta que se refiere a la primera vez que publican, no a la fecha en que se registraron. Nuestro caso de uso es diferente al habitual, por lo que la publicación es importante.

¿Alguien tiene algo así? ¡Agradezco cualquier ayuda!

¡GRACIAS!

Esto debería funcionar @ThunderThighs. Agrega esto a tu Explorador de Datos, completa la fecha de inicio y la fecha de fin, y estarás listo. Las fechas deben coincidir con un formato compatible, uno de los cuales es YYYY-MM-DD.

Usuarios con primer publicación dentro del período

-- [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

Esto es muy útil.

¿Cómo procederías para augmentar esto y recuperar realmente esos mensajes?

¿Algo como esto cumpliría con sus necesidades?

-- [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

Eso es perfecto. Muchas gracias.

¿Puedo hacer una pregunta algo básica sobre SQL? ¿Qué hacen las u y las us en las líneas dos y tres? ¿Funcionan de manera similar a AS, de modo que users ahora puede referirse con el prefijo u y user_stats con el prefijo us?

¡Sin problema!

Eso es correcto. u y us son alias de tabla. Puedes leer más sobre ellos aquí: http://www.postgresqltutorial.com/postgresql-alias/

Es esencialmente una abreviatura. Te permite usar us.user_id en lugar de user_stats.user_id para referirte a la columna user_id en la tabla user_stats. Es especialmente útil con nombres de tablas largos y consultas grandes.