筛选出数据库中近三个月内14天以上未登录的用户ID。
mysql数据库表名为当天日期,一天生成一个表,表里有用户ID字段:uuid,登陆时间字段:ctime,如何写一句sql语句过滤筛选出三个月内一个用户ID几次登陆时间中某两次登陆时间大于14天的用户ID?
筛选出数据库中近三个月内14天以上未登录的用户ID。
mysql数据库表名为当天日期,一天生成一个表,表里有用户ID字段:uuid,登陆时间字段:ctime,如何写一句sql语句过滤筛选出三个月内一个用户ID几次登陆时间中某两次登陆时间大于14天的用户ID?
配合日期函数控制范围
近三个月内14天以上未登录的用户ID
SELECT a.uuid from table_name a
WHERE a.ctime BETWEEN date_add(now(), interval -3 MONTH) AND now()
GROUP by uuid,CONVERT(CHAR(7),ctime)
HAVING datediff(now(),date_add(now(), interval -3 MONTH))-COUNT(DISTINCT a.ctime)>14
第二个问题:几次登陆时间中某两次登陆时间大于14天的用户ID
需要结合登出日期计算
如果你要的是任意两次登录时间相隔大于十四天的话,用以下脚本
```SELECT DISTINCT a1.uuid
FROM table_name a1,table_name a2
WHERE a1.uuid=a2.uuid AND ABS(DATEDIFF(a1.ctime,a2.ctime))>14