【问题标题】:How to randomize the sql result set from a two tables?如何从两个表中随机化 sql 结果集?
【发布时间】:2015-09-26 12:04:09
【问题描述】:

我有两张桌子

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

谁能帮我解决这个问题?提前谢谢你。

【问题讨论】:

    标签: mysql sql random


    【解决方案1】:

    可能最简单的方法是在一行中返回专业知识:

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 1970-01-01
      • 2013-01-07
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多