SQL多列排序随机

时间:2018-12-29 22:22:22

标签: mysql

我想按rand()排序突出显示而不修改语法。怎么办?

我已经尝试过ORDER BY servers.highlight rand(),但仍然无法正常工作。

ORDER BY `servers`.`highlight` DESC, `servers`.`votes` DESC,`servers`.`online_players` DESC,`servers`.`status` DESC

1 个答案:

答案 0 :(得分:0)

实现此目标的唯一方法是对原始servers.highlight中的JOIN进行随机排序。最后尝试ORDER BY RAND()只会给整个输出随机排序。像这样:

SELECT *
FROM (SELECT * FROM servers.highlight ORDER BY RAND()) h
JOIN servers.votes ON ...

我创建了一个小的demo on dbfiddle进行演示。