我有一个表,其结构和数据如下:
该表有一个名为“id”的自动增量字段。它有另一个名为'q_r_id'的字段,它也存储id,但这里可以重复id(例如id-12可以重复超过1行但最多5行)。
我想从此表中随机选择固定数量的记录,但要确保从'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
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
尝试结合,
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