PHP/Mysql按和Rand()排序


PHP/Mysql Order by and Rand()

如何编写一个带有按点Desc和rand()排序的mysql查询。

查询

SELECT * FROM users ORDER BY points DESC

我想根据最高点和随机性对数据进行排序。我正在制作排行榜。如果两个人有相同的观点只是为了区别,我想打乱顺序。另一个解决方案是什么。

您可以给每个结果一个随机数,并先按点DESC,然后按随机值对结果进行排序

SELECT *, RAND() random FROM users ORDER BY points DESC, random ASC

可能还有解决方案:

SELECT * FROM users ORDER BY points DESC, RAND()

但我不确定这个。

亲爱的SELECT*FROM用户ORDER BY points DESC,RAND()这将不起作用。因为只有我们才能按一个顺序对数据进行排序。只能使用RAND()或基于desc,而不能同时使用

@timeSpinter提供的查询是正确的,您可以使用一个条件来排序数据。

SELECT * FROM users ORDER BY RAND()

SELECT * FROM users ORDER BY DESC