El where
la declaración se ejecuta antes el order by
. Entonces, su consulta deseada dice "tome la primera fila y luego ordénela por t_stamp
desc ". Y eso no es lo que pretendes.
El método de subconsulta es el método adecuado para hacer esto en Oracle.
Si desea una versión que funcione en ambos servidores, puede utilizar:
select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
from raceway_input_labo ril
) ril
where seqnum = 1
El exterior *
devolverá "1" en la última columna. Debería enumerar las columnas individualmente para evitar esto.