0

我的问题很简单,如何在同一个 SQL 语句中选择 9 条随机记录和 1 条已定义记录?到目前为止我能想到的就是这个,它只返回一个合作伙伴记录(定义的一个),而不是其他 9 个随机记录。

$sql2 = "SELECT * FROM table WHERE filename = '$partn' AND filename != '$x' ORDER BY RAND() LIMIT 10";

详细地说,我需要返回 10 条记录,其中一条不应该是 '$x',其中一条应该是 '$partn',然后是其他 9 条随机记录,它们都需要以随机顺序显示。

任何帮助,将不胜感激!:)

4

2 回答 2

4

使用联合: http ://dev.mysql.com/doc/refman/5.0/en/union.html

(select the one you want)
union
(select 9 randoms that arent the one you want)
于 2012-05-30T15:44:25.000 回答
3
(SELECT * FROM table WHERE file='$x')
UNION ALL
(SELECT * FROM table WHERE file<>'$x' ORDER BY RAND() LIMIT 9)
于 2012-05-30T15:45:11.177 回答