select * from (
select a.*, row_number() over(order by code desc) rk from tablename a
)where rk=1

解决方案 »

  1.   

    曾经遇到过这样情况,分析函数last_value()本身似乎有问题(只是猜测),建议用first_value()代替,只要把排序规则反过来,得到的结果是一样的
      

  2.   

    duanzilin(寻) 我试过first_value()但得不到我需要的结果,所以我才用last_value
      

  3.   

    你先对一个表运行下列sql:
    select distinct first_value(inf_grade.mass_name) over(order by inf_grade.mass_code desc )
    from inf_grade这里还有个问题,确保你的code 是数字型的,如果你的code是字符型,会得到结果“人,就需要转换over(order by to_number(inf_grade.mass_code) desc)