MySql从中查找机器记录

MySql从中查找机器记录,mysql,Mysql,我不太擅长MySql,但我在我的项目中使用它,在执行特定任务时遇到了问题 我的数据库中有2个表: 有列的学生:姓名,。。。等等 此表包含所有活跃学生的记录 带列的学生日志:姓名、日期 这张表有许多学生的条目和几年前的日期 包括已经不活跃的学生 在最后的结果中,我想找到几周内不活跃的学生(他们的最大到达时间是几周前) 我正在使用以下命令: SELECT name_and_family, max(dateArrival) FROM **students_log** GROUP BY na

我不太擅长MySql,但我在我的项目中使用它,在执行特定任务时遇到了问题

我的数据库中有2个表:

  • 有列的学生:姓名,。。。等等 此表包含所有活跃学生的记录
  • 带列的学生日志:姓名、日期 这张表有许多学生的条目和几年前的日期 包括已经不活跃的学生 在最后的结果中,我想找到几周内不活跃的学生(他们的最大到达时间是几周前)

    我正在使用以下命令:

    SELECT   name_and_family, max(dateArrival)
    FROM     **students_log**
    GROUP BY name_and_family    
    order by dateArrival asc; 
    
    在这一步中,我将收到学生入学的最后日期,但其中包括非活跃学生

    我不知道如何在学生之间进行交叉,这样我就可以从学生日志表中删除非活动名称,并仅从学生日志中获取仅出现在学生表中名称的记录

    谢谢你的帮助

    仅从出现的学生日志中获取具有名称的记录 仅在“来自学生的名称”表中

    连接
    名称上的两个表

    SELECT l.name_and_family, max(l.dateArrival)
    FROM students as s
    INNER JOIN students_log as l ON s.name = l.name
    GROUP BY l.name_and_family
    order by l.dateArrival asc;
    

    如何让学生变得活跃?例如,如果他们在学生日志中的日期超过6个月?您将需要一个JOIN语句(类似于JOIN STUDIERS ON STUDIERS.id=STUDIENT.log.id)紧跟在您的FROM STUDIERS日志之后,然后添加一个WHERE status='active'(或表中的任何内容)。如果您可以发布表模式,我可以给您一个更具体的答案。