有N个查询条件,选出至少M个条件成立的记录
例如有一学生成绩的数据库:
姓名 语文 数学 英语 政治 历史 物理 化学 
张三  80   75    62     55   95  37     75  
...
用Select语句选出至少4门成绩合格(60分)的学生

解决方案 »

  1.   

    select 姓名 from 表名
    where sum(case when 语文>60 then 1 else 0 end+case when 数学>60 then 1 else 0 end+.....)>4
      

  2.   


    select 姓名 from 表名
    where (case when 语文>=60 then 1 else 0 end+case when 数学>=60 then 1 else 0 end+.....)>=4恩,恩
      

  3.   

    select 姓名 from 表
    where case when '语文'>=60 then 1 else 0 end +
    case when '数学'>=60 then 1 else 0 end +
    case when '语文' >=60 then 1 else 0 end +
    case when '英语' >=60 then 1 else 0 end +
    case when '历史' >=60 then 1 else 0 end +
    case when '物理' >=60 then 1 else 0 end +
    case when '化学' >=60 then 1 else 0 end)>4