SELECT DISTINCT * FROM tb_name

解决方案 »

  1.   

    我要把所有字段都取出来的,不是就取studentID
      

  2.   

    select b.studentID,
    (
    select top 1 pri 
    from tb_name 
    where studentID=b.studentID 
    group by studentID,pri
    ) from  tb_name  as b 
    group by b.studentID
    order by b.studentID asc
      

  3.   

    select studentID,max(pri) from A group by studentID
      

  4.   

    是啊,觉得dsyvii(没遮拦)的一个select distinct就搞定了.
    没必要搞和这么复杂吧.
      

  5.   

    楼主,那重复的记录也应该有个取舍啊,总该选择其中的一条了.给你个例子
    /*
    如何求出一个表中某员工合同起始日期最大的那条记录,每个员工可能多条记录,如:
    姓名,起始日,...
    a,2005/01/10
    a,2003/09/09
    a,2004/09/21
    b,2001/01/01
    b,1998/09/09
    b,2002/01/01
    c,1999/09/09我要求出的表为:
    a,2005/01/10
    b,2002/01/01
    c,1999/09/09
    */declare @tab table(name varchar(20),Begindate datetime)
    insert @tab
    values('a','2005/01/10')
    insert @tab
    values('a','2003/09/09')
    insert @tab
    values('a','2004/09/21')
    insert @tab
    values('b','2001/01/01')
    insert @tab
    values('b','1998/09/09')
    insert @tab
    values('b','2002/01/01')
    insert @tab
    values('c','1999/09/09')
    select * from @tabselect * from @tab a where not exists 
    (select * from @tab where name=a.name and  Begindate>a.Begindate)
      

  6.   

    加一句
    group by studentID 
    就OK了.