学生成绩表
   id,name, sore grade
   01  joe  语文  80
   01  Joe  数学  60
   02  TOM  语文  34
   02  TOM  数学  23
  求每个学生成绩最小的记录行
  01  Joe  数学  60
  02  TOM  数学  23  SQL怎么实现????

解决方案 »

  1.   


    Select * From 学生成绩表 A 
    Where Not Exists(Select 1 From 学生成绩表 Where id=A.id And grade<A.grade)
      

  2.   

    Select * From 学生成绩表 A 
    Inner Join (Select id,Min(grade) As grade From 学生成绩表 Group By id) B
    On A.id=B.id And A.grade=B.grade
      

  3.   

    select * from
    tablename a
    inner join
    (
    select id,name,min(grade) as grade
    from tablename
    group by id,name
    )b
    on a.id=b.id and a.name=b.name and a.grade=b.grade