SQL 查询:获取 author_user_id 最近一次 group_id 的创建日期并筛选间隔天数
为了实现这个需求,需要首先获取 author_user_id 最近一次的 group_id,然后根据 group_id 获取对应的 group_create_date,最后计算与今天的间隔天数,并筛选出符合条件的 author_user_id。
具体步骤如下:
-
获取 author_user_id 最近一次的 group_id:
SELECT author_user_id, MAX(group_id) AS latest_group_id FROM your_table GROUP BY author_user_id -
根据 latest_group_id 获取对应的 group_create_date:
SELECT author_user_id, group_create_date FROM your_table WHERE group_id = latest_group_id -
计算与今天的间隔天数:
SELECT author_user_id, DATEDIFF(CURDATE(), group_create_date) AS days_interval FROM ( SELECT author_user_id, group_create_date FROM your_table WHERE group_id = latest_group_id ) AS subquery -
筛选出间隔天数为 7,14,21,30 天的 author_user_id:
SELECT author_user_id FROM ( SELECT author_user_id, DATEDIFF(CURDATE(), group_create_date) AS days_interval FROM ( SELECT author_user_id, group_create_date FROM your_table WHERE group_id = latest_group_id ) AS subquery ) AS subquery2 WHERE days_interval IN (7, 14, 21, 30)
请注意将 'your_table' 替换为实际的表名。
原文地址: https://www.cveoy.top/t/topic/b8uO 著作权归作者所有。请勿转载和采集!