【问题标题】:SQL: Order by both a column and rand()?SQL:按列和 rand() 排序?
【发布时间】:2015-01-12 13:01:22
【问题描述】:

我的表有很多行具有相同的列。我将把该列称为“喜欢”。如果我使用“按喜欢排序”,那么具有相同“喜欢”的行将在它们被添加到数据库时进行排序。 我希望对具有相同“喜欢”的所有行进行随机排序。我试过“ORDER BY likes, rand()”,但一切都是随机排序的。 我该怎么做?

【问题讨论】:

标签: mysql sql sql-order-by


【解决方案1】:

我建议你再检查一次。将子句order by something, rand() 添加到我的一个查询中完全如您所料,唯一的随机化发生在something 组内。

请注意,在 order by 子句中使用 rand() 不会随着您的表变大而很好地扩展。

【讨论】:

    【解决方案2】:

    我不太确定,因为我不知道您的表的结构并且我不知道查询...但是尝试将 GROUP BY likes 添加到您的查询中

    【讨论】:

    • 虽然他希望得到点赞分组的结果,但GROUP BY 在这里并不正确;将所有相似的项目收集到一行以显示聚合函数的结果。
    【解决方案3】:

    可能是您在倒退(例如,“ORDER BY RAND(), something”而不是“ORDER BY something, RAND())

    【讨论】:

      猜你喜欢
      • 2015-10-06
      • 2020-02-29
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      相关资源
      最近更新 更多