【问题标题】:How to get random rows in mysql [duplicate]如何在mysql中获取随机行[重复]
【发布时间】:2017-05-13 16:36:06
【问题描述】:

我的个人表 id 列是 1,2,3,4,6,7,8,9,12,13,14,15,16,20

如何获取随机 5 行且 id 不在 1、2、6 中

我的个人表有 10 万条记录

【问题讨论】:

    标签: mysql random rows


    【解决方案1】:

    您可以使用not in 过滤掉不需要的那些,并通过rand() 函数排序以随机化顺序,然后将limit 行排列为5。

    select * from table
    where id not in (1,2,6)
    order by rand() limit 5;
    

    【讨论】:

    • 好的。感谢您的精彩回答
    • @Ahmet 欢呼队友 :)
    【解决方案2】:

    您可以通过rand() 和limit 订购表格结果:

    SELECT   id
    FROM     personel
    WHERE    id NOT IN (1, 2, 6)
    ORDER BY rand()
    LIMIT    5
    

    【讨论】:

    • 好的。感谢您的精彩回答
    猜你喜欢
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2019-12-28
    • 2013-05-16
    相关资源
    最近更新 更多