sql >> Database >  >> RDS >> Mysql

PHP MySQL selecteer willekeurige rijen

De beste manier die ik heb gevonden om een ​​willekeurig aantal willekeurige records te selecteren, is met OFFSET in de query.

Laten we zeggen dat je 6 willekeurige records wilt, dus ik leen van een antwoord hierboven en tel het totale aantal vrienden in de database.

$sql = mysql_query("SELECT COUNT(*) AS total FROM friends WHERE member_id='". $_SESSION['userid'] ."'");

$get_count = mysql_fetch_array($sql); // Fetch the results

$numfriends = $get_count['total']; // We've gotten the total number

Nu krijgen we de 6 willekeurige records van het totaal hierboven (hopelijk is het> 6),

$query = mysql_query("SELECT * FROM friends WHERE member_id='". $_SESSION['userid'] ."' LIMIT 6 OFFSET " . (rand(0, $numFriends));


while ($rows = mysql_fetch_array($query))
{
  /// show your $rows here
}

Het gebruik van OFFSET is misschien niet de beste of meest efficiënte, maar het werkte voor mij op grote databases zonder ze vast te lopen.



  1. Hashing of codering van variabelen die in een url moeten worden verzonden

  2. Wat is het MySQL-equivalent van EXPLAIN ANALYZE van PostgreSQL?

  3. Haal de dichtstbijzijnde datum uit de MySQL-tabel

  4. Java Oracle-uitzondering - maximum aantal expressies in een lijst is 1000