问题:
  有一个日志表(log)
   字段:
      用户名(username)
      日志时间(logtime)
      日志内容(logcontent)
请问:我现在需要查出每位用户最新 或某个时间段最新的日志信息,如何写sql语句呢?

解决方案 »

  1.   

    select * from log  group by username order by logtime desc 
      

  2.   

    select username,logtim,logcontent
    from
    (
    select username,logtime,logcontent,dense_rank()over(partition by username order by logtime desc) rn
    from log
    )
    where rn=1 
    order by username
      

  3.   

    3楼的sql语句看不是太懂,不过还是谢谢,我先看中不中 中就给分
      

  4.   

    某个时间段的就更简单了
    select * from log
      where logtime between to_date('2009-8-1','yyyy-mm-dd') and to_date('2009-10-1','yyyy-mm-dd')
      

  5.   

    3楼的答案我试过了,可行,非常感谢,分给你了。
    你能随便讲讲中间的子查询dense_rank()over(partition by username order by logtime desc)
    是什么意思吗?
      

  6.   

    对与每组username按logtime降序排序