【问题标题】:SQL query to get random entries获取随机条目的 SQL 查询
【发布时间】:2012-11-22 06:16:22
【问题描述】:

假设我有一张桌子 T。

并且 T 包含 X 个元组。 (并且表 T 有一个数字 PRIMARY KEY)

SQL 中有没有办法获取这些元组的随机子集(n)。

也就是说,每次我运行查询时都会输出一组不同的元组。

(注意:我知道这可以通过编程语言完成,但这意味着对我的数据库运行 N 个查询)。

我能想到的唯一解决方案是

1.在一个数组中生成n个唯一的随机数(arr)

2.将循环中的数字添加为

  "SELECT * FROM T where id="+arr[0] + "OR id=" +arr[1].....+"OR id="+arr[n]

我正在使用 PHPMYADMIN 数据库

但这对我来说似乎并不优雅。有什么想法?

谢谢

【问题讨论】:

    标签: php codeigniter phpmyadmin


    【解决方案1】:
    SELECT * FROM T ORDER BY RAND() LIMIT 5
    

    【讨论】:

    • 不错。我什至从来没有听说过这个。我想我得再读点书了
    • 有没有办法提取一组特定的条目。不用我上面的方法,我可以选择一组 5 个具有指定 ID 的条目
    • SELECT * FROM T WHERE ID IN (1, 2, 5, 456, 234, 123)
    猜你喜欢
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2011-12-18
    • 2023-04-05
    相关资源
    最近更新 更多