【发布时间】:2018-03-23 04:34:30
【问题描述】:
我想检查谁是所有活跃用户(过去 7 天都登录)和谁都是非活跃用户(过去 7 天没有登录)。我有 2 个表用户和机构。用户表结构如下:
id | first_name | email | agency_id | last_login
__________________________________________________
1 Sujith suj@suj 19865 2018/03/01
2 Naveen nav@nav 15098 2018/02/09
3 Salin sal@sal 18452 2017/12/06
代理商的表结构如下:
id | first_name | email | name | last_login
_________________________________________________________________
19865 Sujith suj@suj Yatra Travels 2018/03/01
19865 Raghav rag@rag Yatra Travels 2018/02/09
15098 Naveen nav@nav Travels Ltd 2017/12/06
15098 Monika mon@mon Travels Ltd 2017/12/06
18452 Raghu rag@rag MK Travels
解释是用户表包含主要代理详细信息,代理表包含为代理工作的员工。因此查询必须检查哪些机构已登录 7 天(活跃用户),哪些机构未登录 7 天(非活跃用户)。我为活跃用户写了一个查询。我需要重新检查它是否是正确的查询。以及如何为 7 天未登录或 last_login IS NULL 的非活动用户编写查询
SELECT users.first_name, users.email, users.last_name, users.last_login, agencies.name,
agencies.id as agencyid FROM users INNER JOIN agencies ON users.agency_id=agencies.id
where users.last_login between adddate(now(),-7) and now() group by agencies.name
order by agencies.name
请问有人可以帮帮我吗?提前谢谢。
【问题讨论】:
-
如何区分以上表格中的非活跃用户?
-
有一些标准。应该从机构_id 的两个表中获取。要验证的字段是 last_login。我要显示 7 天和 30 天没有登录的用户。
-
在 SUBDATE(now(),interval 30 DAY) 之间检查我下面 30 天的查询;现在()
-
任何建议将 GROUP BY 作为解决方案一部分的答案恐怕都和提问者一样被欺骗了。有关实际有用的帮助,请参阅meta.stackoverflow.com/questions/333952/…