有一个表,内有三项,分别存储姓名,登录时间和登陆IPA         B         C
姓名      登陆时间  登陆IP我现在想取出指定姓名的人的最近一次的登录IP,请问,这条SQL语句该怎么写?
问题的关键是这个存储登陆时间的字段类型是CHAR型,如果是DATE的话我可以解决,哪位高手来帮帮忙

解决方案 »

  1.   

    select * from tab_name where rowid = (
    select rowid from (select row_number()over(order by to_date(B,'yyyy-mm-dd hh24:mi:ss') desc) as rn from tab_name where A = &Name) where rn = 1 )
      

  2.   

    select * from tab_name where rowid = 
    (
      select rowid from 
       (
            select row_number()over(order by to_date(B,'yyyy-mm-dd hh24:mi:ss') desc) as rn
                   from tab_name where A = &Name     --取得姓名为Name的人,登陆时间由大到小的排名
        ) 
      where rn = 1 --取得最近一次登陆纪录的rowid
    )ps:结贴就可以给分
      

  3.   

    select C from
    (select * from Tb where A = '某人' order by B desc) -- 按'某人'登录时间倒排序
    where rownum < 2