Oracle
 sql >> Base de données >  >> RDS >> Oracle

Plusieurs lignes ont été renvoyées en essayant de sélectionner une ligne spécifique dans Oracle SQL

C'est parce que dbms_random() est appelé pour chaque ligne, il peut donc générer des résultats en double. Au lieu de cela, si vous voulez une ligne aléatoire, essayez quelque chose comme ceci :

select tid
from (select tid,
             row_number() over (order by dbms_random.value()) as seqnum
      from Train
     ) t
where seqnum = 1;

Cela renverra toujours la ligne avec "seqnum =1", mais ce sera un tid aléatoire .