【问题标题】:I want to sort by random [duplicate]我想按随机排序[重复]
【发布时间】:2018-11-06 05:20:12
【问题描述】:

这是我显示数据库产品的代码行,但我想每次都随机显示。

代码:

$products = DB::select("SELECT * FROM products ORDER BY category = 75 DESC LIMIT 4");

【问题讨论】:

  • category = 75 看起来应该在 where 子句中。
  • 我不是程序员,你能给我完整的代码行吗?
  • 已经有很多关于这个话题的话题了,你有没有看过他们并没有解决问题?
  • 您要随机选择 4 个类别为 75 的产品吗?
  • 根据您的 cmets,我认为该问题没有完整描述您想要的内容。请更新,category = 75 具有误导性,如果您真的想要随机类别。

标签: php sql


【解决方案1】:

只需使用RAND()随机订购;

$products = DB::select("SELECT * FROM products where category = 75 ORDER BY RAND() LIMIT 4");

【讨论】:

  • 谢谢你这是我问的:)
【解决方案2】:

您为什么按类别订购 = 75?你是说where category = 75

你可以使用ORDER BY RAND():

$products = DB::select("SELECT * FROM products ORDER BY RAND() LIMIT 4");

但您可能会遇到一些性能问题。

【讨论】:

  • 是的,但我想从数据库类别中随机显示。
  • 75 是类别 ID。
  • @gucciboss 请在问题中准确定义您想要的内容。每次都有 4 个随机且不同的类别?
  • 所以更好的方法是从 db 中选择所有类别,在 php 中对它们进行洗牌,然后使用洗牌数组第一行的 id 运行您的查询。
  • 谢谢,我已经完成了。
猜你喜欢
  • 2018-10-12
  • 2019-08-24
  • 2012-11-19
  • 2014-04-12
  • 1970-01-01
  • 2022-12-02
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多