where
pernyataan dijalankan sebelum order by
. Jadi, kueri yang Anda inginkan mengatakan "ambil baris pertama lalu pesan dengan t_stamp
desc ". Dan bukan itu yang kamu inginkan.
Metode subquery adalah metode yang tepat untuk melakukan ini di Oracle.
Jika Anda menginginkan versi yang berfungsi di kedua server, Anda dapat menggunakan:
select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
from raceway_input_labo ril
) ril
where seqnum = 1
*
bagian luar akan mengembalikan "1" di kolom terakhir. Anda perlu membuat daftar kolom satu per satu untuk menghindari hal ini.