これは、dbms_random()
行ごとにが呼び出されるため、重複する結果が生成される可能性があります。代わりに、ランダムな行が1つ必要な場合は、次のようにしてみてください。
select tid
from (select tid,
row_number() over (order by dbms_random.value()) as seqnum
from Train
) t
where seqnum = 1;
これにより、常に「seqnum =1」の行が返されますが、ランダムなtid
になります。 。