You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

验证活跃用户SQL查询正确性,编写非活跃用户(7天未登录/无登录记录)SQL查询

问题:查询活跃与非活跃机构用户

需求概述

我需要完成两个查询任务:

  • 查询近7天登录的活跃机构用户
  • 查询近7天未登录或last_login为NULL的非活跃机构用户

表结构与示例数据

users表(存储机构主信息)

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

agencies表(存储机构员工信息)

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

一、活跃用户SQL验证与修正

你写的活跃用户查询片段有几个需要调整的细节:

  • users.last_name字段在提供的users表结构里不存在,得删掉
  • GROUP BY在这里没必要,需求是查询符合条件的用户记录,不是按机构聚合
  • 日期判断可以用更直观的写法,同时确保数据库能正确识别last_login的日期格式

修正后的完整活跃用户查询SQL:

SELECT 
    users.first_name, 
    users.email, 
    users.last_login, 
    agencies.name AS agency_name, 
    agencies.id AS agency_id
FROM users
INNER JOIN agencies ON users.agency_id = agencies.id
WHERE users.last_login >= DATE_SUB(NOW(), INTERVAL 7 DAY)
  AND users.last_login <= NOW();

这个语句会准确筛选出近7天有登录记录的用户,同时关联对应的机构信息返回。

二、非活跃用户完整SQL

针对非活跃用户的需求,我们需要筛选出登录时间早于7天前或者**从未登录(last_login为NULL)**的用户,完整SQL如下:

SELECT 
    users.first_name, 
    users.email, 
    users.last_login, 
    agencies.name AS agency_name, 
    agencies.id AS agency_id
FROM users
INNER JOIN agencies ON users.agency_id = agencies.id
WHERE (users.last_login < DATE_SUB(NOW(), INTERVAL 7 DAY)
       OR users.last_login IS NULL);

注意:判断NULL必须用IS NULL,不能用= NULL;同时用括号把两个条件包裹起来,确保逻辑是“满足任一条件即可”。

内容的提问来源于stack exchange,提问作者Sid Menon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:45:28