MySQL选择9个随机和1个定义的记录

时间:2012-05-30 15:41:59

标签: php mysql sql

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

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

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

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

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:3)

(SELECT * FROM table WHERE file='$x')
UNION ALL
(SELECT * FROM table WHERE file<>'$x' ORDER BY RAND() LIMIT 9)