现在我有些字段:  id name doSomething dotime   
这是一个用户操作表;
现在我要查询:每个用户最新一次操作记录  怎么做?     

解决方案 »

  1.   

    select * from table order by dotime desc
      

  2.   

    select name from 表名 order by dotime desc
      

  3.   

    如果只查一条记录可以 select * from 表名  where dotime=(select max(dotime)from 表名 )
      

  4.   

    select name from 表名 group by name order by dotime desc; 
      

  5.   

    select name,dosomething,dotime from 表名 group by name order by dotime desc limit 1;
      

  6.   

    五楼的 有点接近答案了 。 但是我要只有一个NAME的  因为NAME可以是一样的,如果NAME一样的就取最新的时间.是我母说清楚 不好意思 !
      

  7.   

    select * from 表名 group by name where dotime=(select max(dotime) from 表名)
      

  8.   

    标准答案
    select name,max(dotime) dotime from tt group by name
      

  9.   


    其实这个还不是最终的答案,别忘了,仍旧要的是记录,而不是name 和 dotime, 没有dosomething应该是把这个查询作为子表,再关联源表进行查询:select ta.* from tt ta,(
    select name,max(dotime) dotime from tt group by name
    ) tb
    where ta.name=tb.name and ta.dotime=tb.dotime;
      

  10.   

    我很无语select * from tt where name,dotime in (select name,max(dotime) dotime from tt group by name0
      

  11.   

    http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/0.gif
      

  12.   

    <img src="http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/0.gif" />