sql >> Database >  >> RDS >> Mysql

Hoe kan ik ervoor zorgen dat twee willekeurig geselecteerde rijen van elkaar verschillen?

Je kunt maar één keer uitvoeren, maar in plaats daarvan twee krijgen, zodat je nooit dezelfde rij kiest:

$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:pas daar op ORDER BY rand() clausule omdat het traag zal zijn op grote datasets. Je kunt een alternatief gebruiken met @Bill Karwin's geweldige antwoord



  1. MySQL toont de som van het verschil van twee waarden

  2. Hoe MySQL JDBC 08001 Databaseverbindingsfout op te lossen?

  3. Hoe COLLATION() werkt in MariaDB

  4. Hoe de resultaten van nodejs te krijgen met behulp van het mysql-pakket?