怎样才能查询出表中各个记录发生的最后一次记录

解决方案 »

  1.   

    select * from table where rownum=(select max(rownum) from table)
      

  2.   

    如果要求的不是非常准确,可以这样用
    select * from tbname where rowid=(select max(rowid) from tbname);
      

  3.   

    select * from tbname where rowid in (select max(rowid) from tbname group by colname);
      

  4.   

    还是不行,不要把所有的记录提出来,只要不同记录的最后记录
    例如:
    id no  药品id 采购价
    63 E0000002 930 3.6
    65 E0000003 930 3.5
    66 E0000004 599 4
    67 E0000005 862 5
    68 E0000006 599 8
    69 E0000001 599 10
    70 E0000007 599 2.15
    71 E0000012 599 0.138
    73 E0000013 878 3.2
    75 E0000016 878 3.1
    87 E0000019 599 0.2
    89 E0000021 887 3.06
    要实现查询出的结果是:(药品id没有重复的,而且是某个药品的最后一次的采购价)
    id no  药品id 采购价
    65 E0000003 930 3.5
    67 E0000005 862 5
    70 E0000007 599 2.15
    75 E0000016 878 3.1
    87 E0000019 599 0.2
    89 E0000021 887 3.06