获取当年尝试过考试且在过去 12 个月内至少尝试过一次的学生

问题描述 投票:0回答:1

我有一项任务,要找到在当月(2023 年 11 月)参加过考试且在过去 12 个月内至少参加过一次考试的普通学生。因此回顾期为12个月。 还有一个条件是学生在之前的尝试中应该获得至少 20 分。

尝试次数可以 >= 1。主题并不重要。 Roll_number 就是加入条件。

样本数据

卷数考试科目考试_日期标记100英语2022-08-0130100科学2022-09-0550100英语2023-11-1580101英语2021-04-0165101科学2022-06-1045101英语2023-11-1785102英语2021-04-0170102数学2023-09-0115102数学2023-11-1960104英语2022-05-0140104英语2023-11-0375105数学2023-04-0110105英语2023-11-1480
所以,我们期望得到 Roll_number :100,101,104

我正在尝试学习编写自连接查询。 首选语言:HiveQL/MySQL 任何帮助将不胜感激。

sql mysql hive self-join
1个回答
0
投票
因为这看起来像作业

我们正在寻找的是记录

FROM

样本数据

WHERE

 考试日期大于当前日期减去一个月 (
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-sub

AND

EXISTS
https://www.w3schools.com/mysql/mysql_exists.asp)表中存在相同的roll_number和科目的另一条记录

  • WHERE

     exam_date 较早

    AND

     exam_date 距当前日期已超过 1 年

    AND

    分数大于20

© www.soinside.com 2019 - 2024. All rights reserved.