查询 mysql 表单中符合条件的记录
如何查询出在最近特定时间区间内没有操作记录的表表单记录?这是一个常见的数据库查询需求。让我们以最近两个月没有操作记录的管理员姓名查询为例,使用 sql 来解决这个问题。
假设我们有两个表:admin 和 admin_log。admin 表存储管理员信息,而 admin_log 表记录管理员操作日志。我们的目标是找出 admin 表中满足以下条件的管理员姓名:
- 在 последние два个月内没有记录在 admin_log 表中。
- admin_log 表中记录了操作日期,从最新日期开始计算。
sql 查询:
SELECT * FROM admin WHERE id NOT IN ( SELECT DISTINCT admin_id FROM admin_log WHERE created_at > DATE_SUB(NOW(), INTERVAL 2 MONTH) );
查询解释:
- select * from admin:选择 admin 表中的所有列。
- where id not in ( ... ):从 admin 表中排除满足以下子查询条件的管理员。
- 子查询 select distinct admin_id from admin_log where created_at > date_sub(now(), interval 2 month):查找在最近两个月内(以当前日期为基准)在 admin_log 表中记录了操作的管理员 id。
- distinct:确保子查询只返回每个管理员 id 一次。
- not in:去除在 admin 表中 id 与子查询中返回的 id 相匹配的管理员。
执行查询:
执行此查询将返回 admin 表中最近两个月内没有操作记录的管理员姓名。
以上就是如何查找最近两个月内无操作记录的管理员?的详细内容,更多请关注图灵教育其它相关文章!