現在の回答はどちらも、order by
を使用しているという事実を無視しています。 およびrownum
同じクエリで本質的に危険です。必要なデータが得られるという保証はまったくありません。順序付けられたクエリの最初の行が必要な場合は、必須 サブクエリを使用する:
insert into my_tbl ( col1, col2 )
select data, 'more data'
from ( select data
from fir_tabl
where id = 1
order by created_on desc )
where rownum = 1
;
rank
のような関数を使用することもできます。
2つのcreated_on
がある場合でも、必要なメソッドでデータを並べ替えます 同一の日付は、rnk = 1
の2つの値になります。 。
insert into my_tbl ( col1, col2 )
select data, 'more data'
from ( select data
, rank() over ( order by created_on desc ) as rnk
from fir_tabl
where id = 1)
where rnk = 1
;