O
where
instrução é executada antes o order by
. Portanto, sua consulta desejada está dizendo "pegue a primeira linha e ordene por t_stamp
desc ". E não é isso que você pretende. O método de subconsulta é o método adequado para fazer isso no Oracle.
Se você quiser uma versão que funcione em ambos os servidores, você pode usar:
select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
from raceway_input_labo ril
) ril
where seqnum = 1
O
*
externo retornará "1" na última coluna. Você precisaria listar as colunas individualmente para evitar isso.