首页 > 解决方案 > 如何从 MySQL 数据库中选择特定记录

问题描述

我有三个表作为学生 记录:课程记录: 映射学生和课程:
学生记录

课程记录

映射学生和课程

我想从table std_coursewhere获取记录,student就像1,2,3使用查询一样

select course_id from std_course where std_id in (1,2,3) group by course_id

它返回给我course_id1但这里std_id=4也存在,course_id=1 我需要选择仅course_id在哪里std_id1,2,3

标签: mysqlcodeigniter

解决方案


您可以使用sum()and select casestd_id上面3将是0

select * from (
    select sum(case when std_id in (1, 2, 3) then 1 else 0 end) tot
        , course_id
    from std_course
    group by course_id) t1 
where t1.tot <= 3

推荐阅读