我有一个问题:
$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 结合使用,但失败了:/
最佳答案
您可以在 ORDER BY
子句中应用使用 RAND()
的外部查询:
SELECT *
FROM (
SELECT *
FROM msgs
WHERE name='$name'
ORDER BY replies DESC LIMIT 5) AS t
ORDER BY RAND()
注意:最好在 SELECT
子句中明确命名每个字段,而不是使用 *
。
关于php - 如何在查询中组合 RAND 和 DESC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37874824/