在下面的 SQL 查询中,我需要 25 行包含产品 = 'y' 和 25 行包含产品 = 'n'。 产品是仅具有 Y/N 值的列。在随机 50 行的限制中,我需要每个值 25 行。
SELECT qno
FROM `wp_question_bank`
where brand='XYZ'
and department='DOMESTIC'
and product = 'y'
and priority = 'p1'
ORDER BY RAND() limit 50
请帮忙。我尝试过联合但没有成功。
最佳答案
只需对每种产品类型使用UNION
:
(SELECT qno
FROM `wp_question_bank`
WHERE brand='XYZ' AND department='DOMESTIC' AND product = 'y' AND priority = 'p1'
ORDER BY RAND()
LIMIT 25)
UNION ALL
(SELECT qno
FROM `wp_question_bank`
WHERE brand='XYZ' AND department='DOMESTIC' AND product = 'n' AND priority = 'p1'
ORDER BY RAND()
LIMIT 25)
关于MySql 查询通过 rand() 从 limit 和 order 中获取一定数量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59839492/