Das where
-Anweisung vorher ausgeführt wird die order by
. Ihre gewünschte Abfrage lautet also:„Nehmen Sie die erste Reihe und sortieren Sie sie dann nach t_stamp
absteigen ". Und das ist nicht Ihre Absicht.
Die Subquery-Methode ist die richtige Methode dafür in Oracle.
Wenn Sie eine Version wünschen, die auf beiden Servern funktioniert, können Sie Folgendes verwenden:
select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
from raceway_input_labo ril
) ril
where seqnum = 1
Der äußere *
gibt "1" in der letzten Spalte zurück. Sie müssten die Spalten einzeln auflisten, um dies zu vermeiden.