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

Comment puis-je m'assurer que deux lignes sélectionnées au hasard sont différentes l'une de l'autre ?

Vous pouvez exécuter une seule fois mais en obtenir deux à la place afin de ne jamais sélectionner la même ligne :

$result = mysqli_query($conn,"SELECT * FROM photos ORDER BY rand() LIMIT 2");
$row = $result->fetch_assoc();
$row2 = $result->fetch_assoc();
// invoke `->fetch` twice to get the first and second row
$img1link = $row['link'];
$img2link = $row2['link'];

Sidenote :Faites attention à ce ORDER BY rand() clause car elle sera lente sur les grands ensembles de données. Vous pouvez utiliser une alternative avec la grande réponse de @Bill Karwin