在MySQL中随机选择有两个条件的有限数量的记录

and*_*ton 1 mysql sql

我有一个MySQL表,其中包含一个名为"priority"的列.该列可以有两个值:高或低.我想从表中随机选择8条记录,但我希望其中6条是高优先级,其中2条是低优先级.如果可能的话,我想在一个SQL语句中做到这一点.有没有办法在一个查询中根据这种标准做两个LIMITS?

man*_*nji 7

SELECT t1.*
  FROM table t1
 WHERE priority = 'high'
 ORDER BY rand() Limit 8
UNION ALL
SELECT t1.*
  FROM table t1
 WHERE priority = 'low'
 ORDER BY rand() Limit 2
Run Code Online (Sandbox Code Playgroud)