Il where
l'istruzione viene eseguita prima il order by
. Quindi, la tua query desiderata sta dicendo "prendi la prima riga e poi ordinala per t_stamp
sc ". E non è quello che intendi.
Il metodo subquery è il metodo corretto per eseguire questa operazione in Oracle.
Se desideri una versione che funzioni su entrambi i server, puoi utilizzare:
select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
from raceway_input_labo ril
) ril
where seqnum = 1
Il *
esterno restituirà "1" nell'ultima colonna. Dovresti elencare le colonne singolarmente per evitarlo.