You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从MySQL表随机选取出现至少两次的rartid分组?

MySQL随机选取符合条件分组的SQL方案

需求明确:从出现次数至少为2次的rartid分组中随机选一个,取出该分组的所有bedid和rartid数据。

推荐SQL写法

SELECT t.bedid, t.rartid
FROM your_table t
JOIN (
    -- 筛选出现次数≥2的rartid并随机选一个
    SELECT rartid
    FROM your_table
    GROUP BY rartid
    HAVING COUNT(*) >= 2
    ORDER BY RAND()
    LIMIT 1
) AS target_rartid ON t.rartid = target_rartid.rartid;

语句说明

  1. 子查询部分:先按rartid分组,用COUNT(*) >= 2筛选出出现次数达标的分组,通过ORDER BY RAND()随机打乱顺序,LIMIT 1锁定一个目标rartid。
  2. 外层查询:将原表和子查询结果关联,取出该rartid对应的所有行数据,即为随机选中的分组数据。

适配示例场景

以你给出的数据表为例,子查询会从33、44、55这三个符合条件的rartid里随机选一个,最终返回对应分组的全部数据,和你期望的任意一种结果匹配。

内容的提问来源于stack exchange,提问作者pudipel64

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 05:33:26