sql >> Database >  >> RDS >> Mysql

Hoe krijg ik RANDOM-records van elke categorie in MySQL?

Ja, u kunt dit doen door de rijen op te sommen en vervolgens de top drie op te halen:

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. Rails:schrijf-/leesquery splitsen over master/slave-database

  2. Hoe COERCIBILITY() werkt in MariaDB

  3. Hoe kan ik een MDB-bestand (Access) naar MySQL (of gewoon SQL-bestand) converteren?

  4. Hoe een Foreign key Constraint toe te voegen aan een bestaande tabel in SQL Server - SQL Server / TSQL Tutorial Part 68