MySql 查询通过 rand() 从 limit 和 order 中获取一定数量的值

标签 mysql sql wordpress

在下面的 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/

相关文章:

部分字符串上的 SQL 连接表

php - CSV 导出和下载导致内部服务器错误

javascript - 在页面模板上加载脚本

php - 在 WooCommerce 订单和电子邮件中添加并显示自定义购物车项目数据

java - 使用 JDBC Ping MySQL 服务器

mysql - 将mysql字符串转换为定时事件中定义的mysql变量

php - Bigcommerce getProducts 限制

java - 类似于 Golang 中 Spring Data JPA 的框架

mysql - SQL查找字符串加选项字符

mysql - SQL-如何有效地选择多个最接近的时间序列数据点