Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Várias linhas retornadas tentando selecionar uma linha específica no Oracle SQL


Isso porque dbms_random() é chamado para cada linha, para que possa gerar resultados duplicados. Em vez disso, se você quiser uma linha aleatória, tente algo assim:
select tid
from (select tid,
             row_number() over (order by dbms_random.value()) as seqnum
      from Train
     ) t
where seqnum = 1;

Isso sempre retornará a linha com "seqnum =1", mas será um tid aleatório .