SQL查询:从两个组中选择相等的数量

时间:2014-11-18 23:57:24

标签: mysql database where

对于下面的查询,它目前从表中随机选择50个具有作业A或B的记录。我感兴趣的是这是否可以被修改为随机获得50个记录,同时确保等量选择有工作A和等量工作B的人,即每人25人。

这可能在一个查询中吗?

"SELECT x, y, FROM table WHERE (job = 'A' OR job = 'B') ORDER BY RAND() LIMIT 50"

非常感谢任何帮助/方向。我不确定从哪里开始搜索,就好像你甚至试图用'where'和'equal'这样的关键字来查看你指向大于或等于的例子等。

1 个答案:

答案 0 :(得分:3)

一种选择是使用联合

 (SELECT x, y, FROM table WHERE job = 'A' 
 ORDER BY RAND() LIMIT 25)
 UNION
 (SELECT x, y, FROM table WHERE job = 'B' 
 ORDER BY RAND() LIMIT 25)