比如说这样的记录,这是取得的历史纪录,每5分钟更新一次,这是两个5分钟的数据
det_id       update_date   flow    occupancy speed   headdistance
1402101 20021206 16:00:00 53 7.4 59.4 43.6
1402102 20021206 16:00:00 67 11 52.2 23
1402103 20021206 16:00:00 98 17.4 50 18.2
1402104 20021206 16:00:00 12 3.4 35.75 80.75
1402105 20021206 16:00:00 29 5.6 44.2 39.4
1402121 20021206 16:00:00 72 9.4 65.8 22.4
1402122 20021206 16:00:00 72 12.2 51.2 21.8
1402123 20021206 16:00:00 50 8.4 50.8 21.6
1402124 20021206 16:00:00 13 2.6 46 46.5
1402125 20021206 16:00:00 68 9.6 60.2 21.8
1402101 20021206 16:05:00 51 6.8 64 23.2
1402102 20021206 16:05:00 70 10.4 59.8 23.6
1402103 20021206 16:05:00 106 15.8 58.4 21
1402104 20021206 16:05:00 9 1.6 46.5 72
1402105 20021206 16:05:00 28 6 40.6 27.4
1402121 20021206 16:05:00 83 10.2 70.8 22.8
1402122 20021206 16:05:00 63 9.8 57.2 34.4
1402123 20021206 16:05:00 37 6.8 46.4 29
1402124 20021206 16:05:00 16 3.6 39.8 67.8
1402125 20021206 16:05:00 69 12 50.8 28.6
我想实时从数据库提取数据,如何做?

解决方案 »

  1.   

    select * from mytable where update_date= (select max(update_date) from mytable)
    这样就是最新时间的记录
      

  2.   

    select * from mytable where update_date= (select max(update_date) from mytable)这样应该存在效率问题正常的情况,应该考虑其他办法
    采用时间戳不是好的办法!
    建议采用标示列标示等!
      

  3.   

    我的方法是正解了,我在这样的系统结构中,其他方法已经不用考虑了,对于效率,看记录数有多少了同时用max本身就非常的快