A 表有三个段
    
   id  userName  time
    1   张三  2011-11-04
    2   王五  2011-10-15
    3   张三  2011-10-22
    4   张三  2011-10-17
我想要得结果是 张三 和王五最新的记录请各位帮忙谢谢

解决方案 »

  1.   

    结果也就是这个样子(id 要不要都可):
      id userName time
      1   张三     2011-11-04
      2   王五     2011-10-15
      

  2.   

    select id,userName,time
    from (
      select id,userName,time
        ,row_number() over (partition by userName order by time desc) RN
      from A
      where A.userName in ('张三','王五')
    ) B
    where RN = 1
      

  3.   


    SELECT *
      FROM (SELECT ID,
                   USERNAME,
                   TIME,
                   ROW_NUMBER() OVER(PARTITION BY USERNAME ORDER BY TIME DESC) ROW_
              FROM A)
     WHERE ROW_ = 1;