sql >> Base de Datos >  >> RDS >> Oracle

Se devolvieron varias filas al intentar seleccionar una fila específica en Oracle SQL

Eso es porque dbms_random() se llama para cada fila, por lo que puede generar resultados duplicados. En cambio, si desea una fila aleatoria, intente algo como esto:

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

Esto siempre devolverá la fila con "seqnum =1", pero será un tid aleatorio .