credo che si debba per forza ciclare, rischi di avere lo stesso valore di rand() se fai tutto nella stessa query