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

Jak uzyskać RANDOM rekordy z każdej kategorii w MySQL?

Tak, możesz to zrobić, wyliczając wiersze, a następnie pobierając trzy pierwsze:

select r.id, r.question, r.category
from (select r.*,
             (@rn := if(@c = category, @rn + 1,
                        if(@c := category, 1, 1)
                       )
             ) as seqnum
      from `random` r cross join
           (select @rn := 0, @c := -1) params
      order by category, rand()
     ) r
where seqnum <= 3;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql zmienia unikalny klucz na podstawowy (mariadb)

  2. Jak stworzyć bezpieczny skrypt logowania w PHP i MySQL

  3. MySql ERROR 1045 (28000):Odmowa dostępu dla użytkownika 'root'@'localhost' (przy użyciu hasła:NIE)

  4. PHP PDOException:SQLSTATE[HY093]:Nieprawidłowy numer parametru

  5. SQL Inner Join – Jak połączyć 3 tabele w SQL i MySQL