现在有一张表,里面有相同的纪录,唯一不相同的就是时间戳和HisID,现在如果有相同纪录的话,我想取得时间在最靠后的纪录,如果,没有相同纪录的话,就直接取出来就可以了。
如下表所示:
tableA  HisID  studentid               time
   1         01            2005-11-13 00:00:00
   2         02            2005-11-13 00:00:00
   3         03            2005-11-13 00:00:00
   4         04            2005-11-13 00:00:00
   5         01            2005-11-14 00:00:00我想取出来的结果是
           studentid               time
             02            2005-11-13 00:00:00
             03            2005-11-13 00:00:00
             04            2005-11-13 00:00:00
             01            2005-11-14 00:00:00
请问,这个脚本该怎么写?

解决方案 »

  1.   

    select studentid,max(time) from tableA group by studentid
      

  2.   

    不好意思,忘说了,因为这边有限制,不能使用group by ,请各位想想,还有没有别的办法
      

  3.   

    因为这边有限制,不能使用group by 
    -------
    有没有搞错,还有这种规定。原因是什么?
      

  4.   

    先把有重复的挑出来,然后以此为条件,分别找到没有重复的,和有重复的日期最新的,再union一下就行了,懒地写程序了。
      

  5.   

    不能用group by...
    无聊不无聊
      

  6.   

    写个存储过程
    1:按照studentid,time(降序)检索出需要的数据
    2:用游标逐一判断记录
       当studentid <> 前一条记录 
           存放到临时表中;
       否则
           继续读下一条记录;
    3:将临时表中所有记录检索出来就是需要的结果集