像这样的记录
uid   data    time
1     data1    1270211980
1     data2    1270211981
2     data3    1270211983如何取出uid=1的时间最大的记录?
select * from table_name where time = (select MAX(time) from table_name)这样我感觉效率好像不高,有没有更好的办法?

解决方案 »

  1.   

    SELECT * FROM `table_name` WHERE `uid` = 1 ORDER BY `time` DESC LIMIT 0, 1
      

  2.   


    select top 1 * from table_name where uid = 1 order by time desc
      

  3.   

    楼上的已经解答了。 order by
      

  4.   

    如果是mysql数据库的话是不支持top的
      

  5.   

    mysql写法:select * from table_name where uid = 1 order by time desc limit 1;
      

  6.   

    可以用主索引啊,
    id最快了order by id desc
      

  7.   

    这样查询就可以了,如果想效率高点,time 可以加索引.