Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobieranie wierszy RAND() bez ORDER BY RAND() w jednym zapytaniu

Czy istnieje powód, dla którego nie można użyć procedury składowanej do utworzenia przygotowanego zestawienia?

DELIMITER //
DROP PROCEDURE IF EXISTS rand_quote//
CREATE PROCEDURE rand_quote()
BEGIN
    SET @rand := ROUND((SELECT COUNT(*) FROM quotes) * RAND());
    SET @sql := CONCAT('SELECT * FROM quotes LIMIT ', @rand, ', 1');
    PREPARE stmt FROM @sql;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END;
//
DELIMITER ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. zamówienie mysql według danych serializowanych?

  2. Aktywuj przed usunięciem MySql

  3. Jak radzić sobie z awariami bazy danych (Glassfish/MySQL)?

  4. Synchronizacja baz danych online/offline — MySQL/PHP

  5. PHP Sprawdź, czy ciąg zawiera literę