Det beror på att dbms_random()
anropas för varje rad, så det kan generera dubbletter av resultat. Om du istället vill ha en slumpmässig rad, prova något så här:
select tid
from (select tid,
row_number() over (order by dbms_random.value()) as seqnum
from Train
) t
where seqnum = 1;
Detta kommer alltid att returnera raden med "seqnum =1", men det kommer att vara en slumpmässig tid
.