Le where
l'instruction est exécutée avant le order by
. Ainsi, votre requête souhaitée est de dire "prenez la première ligne, puis commandez-la par t_stamp
desc ". Et ce n'est pas ce que vous avez l'intention.
La méthode de sous-requête est la méthode appropriée pour ce faire dans Oracle.
Si vous voulez une version qui fonctionne sur les deux serveurs, vous pouvez utiliser :
select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
from raceway_input_labo ril
) ril
where seqnum = 1
Le *
externe renverra "1" dans la dernière colonne. Vous auriez besoin de lister les colonnes individuellement pour éviter cela.