我有两张 table
Table1 person:
-person_id
-name
Table2 expertise:
-expertise_id
-person_id
-expertise_name
我想要实现的是返回 5 个随机的人,以及该人相应的 2 个随机专业知识。到目前为止,我可以返回所有人及其所有专业知识。
SELECT * FROM person p, expertise e WHERE e.person_id = p.person_id
谁能帮我解决这个问题?提前谢谢你。
最佳答案
可能最简单的方法是在一行中返回专业知识:
select p.*,
substring_index(group_concat(e.expertise_name order by rand()), ',', 2) as two_expertises
from (select p.*
from person p
order by rand()
limit 5
) p left join
expertise e
on p.person_id = e.person_id
group by p.person_id;
关于mysql - 如何从两个表中随机化sql结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32796969/