如何使用Desc和rand()按顺序编写mysql查询。
查询
SELECT * FROM users ORDER BY points DESC
我想基于最高点和随机排序数据。我正在制作排行榜。如果两个人为了差别而拥有相同的观点我想要改变顺序。是另一种解决方案。
答案 0 :(得分:0)
您可以为每个结果提供一个随机数,然后先按点DESC然后按随机值排序结果:
SELECT *, RAND() random FROM users ORDER BY points DESC, random ASC
可能还有解决方案:
SELECT * FROM users ORDER BY points DESC, RAND()
但我不确定那个。
答案 1 :(得分:0)
亲爱的SELECT * FROM用户ORDER BY点DESC,RAND()这不起作用。因为只有我们可以对一个订单上的数据进行排序。你只能使用RAND()或基于desc而不是两者
@timeSpinter提供的查询是正确的,您可以使用一个条件来排序数据。
喜欢
SELECT * FROM users ORDER BY RAND()
或
SELECT * FROM users ORDER BY DESC