sql >> Databáze >  >> RDS >> Mysql

PHP MySQL vybírá náhodné řádky

Nejlepší způsob, jak vybrat libovolný počet náhodných záznamů, je pomocí OFFSET v dotazu.

Řekněme, že chcete 6 náhodných záznamů, takže si půjčím z výše uvedené odpovědi a spočítám celkový počet přátel v databázi.

$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

Nyní získáme 6 náhodných záznamů z výše uvedeného celkového počtu (doufejme, že je to> 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
}

Použití OFFSET nemusí být nejlepší a nejúčinnější, ale osvědčilo se mi to na velkých databázích, aniž bych je zahltil.



  1. Zálohovat pouze schéma SQL?

  2. Chyba přihlášení k serveru SQL:přihlášení se nezdařilo pro uživatele 'NT AUTHORITY\SYSTEM'

  3. Vytváření plánů údržby v SQL Server

  4. PDO::PARAM pro data?