sql >> Database teknologi >  >> RDS >> Mysql

Hvordan får man tilfældige poster fra hver kategori i MySQL?

Ja, du kan gøre dette ved at opregne rækkerne og derefter hente de tre øverste:

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. Hvorfor bruger iteration gennem et stort Django QuerySet enorme mængder hukommelse?

  2. Bestil inden for gruppe af?

  3. Hvordan gemmer man telefonnumre på MySQL-databaser?

  4. En primær skal inkludere alle kolonner i tabellens partitioneringsplaceringsfejl?