两表关联查询sql不会写,求教!!!
一个学生表,一个成绩表,成绩表中有每个学生m门课分数,大于60分算及格,查询及格率>=0.5学生数量

解决方案 »

  1.   

    select 学生 
    from 成绩表
     group by 学生 
    having sum(case when 分数 >=60 then 1 else 0 end) > count(*) / 2
      

  2.   

    感谢@卖水果的net,看到having用法犹如醍醐灌顶,受教了,最终语句如下
    SELECT count(*) FROM ( SELECT student_name FROM SUBJECT GROUP BY student_name HAVING sum( CASE WHEN subject_status = 1 THEN 1 ELSE 0 END ) > count(*) * 0.75 ) t