0

假设我有一张桌子 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 数据库

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

谢谢

4

1 回答 1

2
SELECT * FROM T ORDER BY RAND() LIMIT 5
于 2012-12-04T15:16:16.230 回答