SQL查询选择同一日期的数据

时间:2018-07-23 00:50:41

标签: sql oracle date

我有一个表,其中包含作业ID,学生ID,作业名称和作业日期。我必须编写一个SQL查询来获取在同一日期提交2份作业的学生列表。我还需要在输出中分配assignment_name和assignment_date。我陷入了我可以写哪个查询来获取此数据的困境。任何帮助将不胜感激

Image of the data

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

在MYSQL查询中

  SELECT student_id, training_date, GROUP_CONCAT(assignment_name)
     FROM
   table_name
   GROUP BY student_id, training_date HAVING COUNT(*) = 2

Is there any function in oracle similar to group_concat in mysql?”可以帮助您替换 oracle SQL

中的GROUP_CONCAT

答案 1 :(得分:0)

您可以使用exists

select t.*
from table t
where exists (select 1 
              from table t1 
              where t1.student_id = t.student_id and 
                    t1.training_date = t.training_date and 
                    t1.assignment_id <> t.assignment_id
             );