我的问题非常简单,如何在同一个SQL语句中选择9个随机记录和一个已定义的记录?到目前为止,我所能想到的只是返回一个伙伴记录(已定义的记录)而不是其他9个随机记录。
$sql2 = "SELECT * FROM table WHERE filename = '$partn' AND filename != '$x' ORDER BY RAND() LIMIT 10";
详细说明,我需要返回十条记录,其中一条不应该是'$ x',其中一条应该是'$ partn',然后是其他9条随机的记录,它们都需要以随机顺序显示
任何帮助将不胜感激!:)
答案 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)