Php 如何在查询中组合RAND和DESC
我有一个问题:Php 如何在查询中组合RAND和DESC,php,mysql,Php,Mysql,我有一个问题: $msg_check = mysql_query ("SELECT * FROM msgs WHERE name='$name' ORDER BY replies DESC LIMIT 5"); while($row = mysql_fetch_array($msg_check)) { $comment = $row['comment']; $nickname = $row['nickname']; 我需要做的是把5条评论和大多数回复一起随机排序。 我尝试过将RAND与DESC
$msg_check = mysql_query ("SELECT * FROM msgs WHERE name='$name' ORDER BY replies DESC LIMIT 5");
while($row = mysql_fetch_array($msg_check)) {
$comment = $row['comment'];
$nickname = $row['nickname'];
我需要做的是把5条评论和大多数回复一起随机排序。
我尝试过将RAND与DESC相结合,但失败了:/试试这个
SELECT * FROM
(SELECT * FROM msgs where name='$name' ORDER BY replies DESC LIMIT 5)
ORDER BY rand()
您可以在
ORDER BY
子句中应用使用RAND()
的外部查询:
SELECT *
FROM (
SELECT *
FROM msgs
WHERE name='$name'
ORDER BY replies DESC LIMIT 5) AS t
ORDER BY RAND()
注意:最好在SELECT
子句中显式命名每个字段,而不是使用*
我认为在您的情况下,在单个查询中不可能使用RAND()和DESC。
您应该获取结果,然后尝试array\u rand($your\u array,5)函数。或者您可以简单地随机化数组