为了实现这个需求,需要首先获取 author_user_id 最近一次的 group_id,然后根据 group_id 获取对应的 group_create_date,最后计算与今天的间隔天数,并筛选出符合条件的 author_user_id。

具体步骤如下:

  1. 获取 author_user_id 最近一次的 group_id:

    SELECT author_user_id, MAX(group_id) AS latest_group_id
    FROM your_table
    GROUP BY author_user_id
    
  2. 根据 latest_group_id 获取对应的 group_create_date:

    SELECT author_user_id, group_create_date
    FROM your_table
    WHERE group_id = latest_group_id
    
  3. 计算与今天的间隔天数:

    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
    
  4. 筛选出间隔天数为 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' 替换为实际的表名。

SQL 查询:获取 author_user_id 最近一次 group_id 的创建日期并筛选间隔天数

原文地址: https://www.cveoy.top/t/topic/b8uO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录