where
операторът се изпълнява преди order by
. Така че желаната от вас заявка казва „вземете първия ред и след това го поръчайте по t_stamp
нападане „. И това не е, което възнамерявате.
Методът на подзаявката е правилният метод за това в Oracle.
Ако искате версия, която работи и на двата сървъра, можете да използвате:
select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
from raceway_input_labo ril
) ril
where seqnum = 1
Външният *
ще върне "1" в последната колона. Ще трябва да изброите колоните поотделно, за да избегнете това.