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

jak losowo pobierać pytania z bazy danych?

Możesz użyć LIMIT m,n aby zarówno ograniczyć liczbę otrzymywanych wyników, jak i zrównoważyć wyniki o określoną kwotę.

Teraz możesz zrobić coś takiego:

 SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;

Gdzie obliczasz $page na podstawie $_GET zmienny. Ale to nie rozwiąże twojej losowości.

Zawsze możesz umieścić RAND($klucz) przez dany klucz, który zapisałeś w swojej sesji, dzięki czemu możesz ORDER BY RAND($key) i użyj powyższej techniki limitów.

Prawdopodobnie najprostszym do zaimplementowania byłoby pobranie całego zestawu wyników, przetasowanie go i buforowanie. Następnie użyj php, aby pokazać tylko określony fragment pamięci podręcznej.

Ponieważ jest to związane z paginacją. Powiem ci, LIMIT m,n może nie być tak szybki, jak się wydaje. Dowiedz się, jak to ulepszyć i przeczytaj więcej o Wydajnej paginacji przy użyciu MySQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyłączyć innodb w mysql?

  2. Jak działa funkcja CHARACTER_LENGTH() w MySQL

  3. Otrzymuję błąd Polecenia nie są zsynchronizowane, nie można teraz uruchomić polecenia podczas wykonywania procedury składowanej w mysql/PHP

  4. Tabela 'mysql.user' nie istnieje:BŁĄD

  5. dodaj tymczasową kolumnę z wartością