【发布时间】:2015-01-12 13:01:22
【问题描述】:
我的表有很多行具有相同的列。我将把该列称为“喜欢”。如果我使用“按喜欢排序”,那么具有相同“喜欢”的行将在它们被添加到数据库时进行排序。 我希望对具有相同“喜欢”的所有行进行随机排序。我试过“ORDER BY likes, rand()”,但一切都是随机排序的。 我该怎么做?
【问题讨论】:
-
这将有助于显示表定义和查询
标签: mysql sql sql-order-by
我的表有很多行具有相同的列。我将把该列称为“喜欢”。如果我使用“按喜欢排序”,那么具有相同“喜欢”的行将在它们被添加到数据库时进行排序。 我希望对具有相同“喜欢”的所有行进行随机排序。我试过“ORDER BY likes, rand()”,但一切都是随机排序的。 我该怎么做?
【问题讨论】:
标签: mysql sql sql-order-by
我建议你再检查一次。将子句order by something, rand() 添加到我的一个查询中完全如您所料,唯一的随机化发生在something 组内。
请注意,在 order by 子句中使用 rand() 不会随着您的表变大而很好地扩展。
【讨论】:
我不太确定,因为我不知道您的表的结构并且我不知道查询...但是尝试将 GROUP BY likes 添加到您的查询中
【讨论】:
GROUP BY 在这里并不正确;将所有相似的项目收集到一行以显示聚合函数的结果。
可能是您在倒退(例如,“ORDER BY RAND(), something”而不是“ORDER BY something, RAND())
【讨论】: