【问题标题】:2 Unique RAND() items from database2 来自数据库的唯一 RAND() 项目
【发布时间】:2011-07-25 07:41:31
【问题描述】:

目前我正在使用:

SELECT * from foo ORDER BY RAND() LIMIT 2

从数据库中选择 2 个随机项目,但结果可能都是同一个项目,所以我怎样才能做到这一点,所以它们不是而且总是不同的?

一如既往地提前感谢:)

【问题讨论】:

  • 不,这样您将永远不会两次获得相同的物品。它将始终是两条不同的记录。
  • 同一行不会在结果中出现两次。如果这不是您所说的“同一项目”,请澄清。
  • 啊阅读您的评论后问题解决了我仔细检查了数据库,错误是有 2 个相同的项目...谢谢 mischa 和 Ramon

标签: php sql random unique


【解决方案1】:

使用ORDER BY RAND() 不会导致重复行。

从分散的论坛帖子和bug reports 来看,这可能在以前的 MySQL 版本中是这种情况(尽管我强烈怀疑这一点),但现在绝对不是了。我自己刚刚进行了几次测试,可以确认ORDER BY RAND() 永远不会返回重复的行。

【讨论】:

    猜你喜欢
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多