当前位置: 首页 > 图灵资讯 > 技术篇> 如何查找最近两个月内无操作记录的管理员?

如何查找最近两个月内无操作记录的管理员?

来源:图灵教育
时间:2024-12-02 19:36:50

如何查找最近两个月内无操作记录的管理员?

查询 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 表中最近两个月内没有操作记录的管理员姓名。

以上就是如何查找最近两个月内无操作记录的管理员?的详细内容,更多请关注图灵教育其它相关文章!