有这么一张表姓名    课程       分数
name   course    fenshu
张三    英语       78
李四    数学        81
张三    数学        90
王五     英语        70
王五     语文       83
李四    语文         73
……   ……        ……然后要求是把所有课程都80分以上的学生姓名找出来
select name 
from sc
group by name having min(*)>80
这样可以吗

解决方案 »

  1.   

    select name from tb group by name having min(course)>80
      

  2.   

    declare @t table(name varchar(10),course varchar(10),fenshu int) 
    insert @t select '张三' ,   '英语',      85 
    insert @t select '李四' ,   '数学',        81 
    insert @t select '张三' ,   '数学',        90 
    insert @t select '王五' ,   '英语',        70 
    insert @t select '王五' ,   '语文',      83 
    insert @t select '李四' ,   '语文',        73 
    insert @t select '张三' ,   '语文',        90 
    select name from @t group by name having min(fenshu)>80