MySql 随机查询

MySql random query

我有一个table,里面的结构和数据如下:

table 有一个名为“id”的自动递增字段。它有另一个名为“q_r_id”的字段,它也存储 id 但这里的 id 可能会重复(例如,id-12 可能会重复超过 1 行,但最多 5 行)。

我想 select 固定数量的记录来自这个 table 随机但确保从 'q_r_id' 字段,如果例如选择 id-12 那么所有行(即 id-12 的所有五行都应包含在随机结果中。

我正在使用以下查询但没有得到想要的结果:

SELECT * FROM tblreasoningip_r WHERE id >= (SELECT FLOOR(MAX(id)*RAND()) FROM tblreasoningip_r) 
group BY q_r_id LIMIT 0,30

非常感谢任何帮助。

尝试合并,

SELECT * FROM
   ( 

        SELECT * FROM tblreasoningip_r 
        WHERE id >= (SELECT FLOOR(MAX(id)*RAND()) FROM tblreasoningip_r) 

        UNION

        SELECT * FROM tblreasoningip_r WHERE q_r_id = 12
    )

    GROUP BY id