De where
statement wordt voor uitgevoerd de order by
. Dus uw gewenste zoekopdracht zegt:"neem de eerste rij en bestel deze dan door t_stamp
desc ". En dat is niet wat je van plan bent.
De subquery-methode is de juiste methode om dit in Oracle te doen.
Als u een versie wilt die op beide servers werkt, kunt u het volgende gebruiken:
select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
from raceway_input_labo ril
) ril
where seqnum = 1
De buitenste *
retourneert "1" in de laatste kolom. U zou de kolommen afzonderlijk moeten vermelden om dit te voorkomen.