- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Laravel Eloquent,如何从前 100 行中随机抽取 10 行(按日期排序)。
例如,我有这个:
$comments = Comment::orderBy('created_at', 'DESC')
->take(100)
->inRandomOrder()
->get();
如何更改此设置,以便从所选的 100 行中随机抽取 10 行?有没有办法做到这一点,这样我就不必检索 100 行?
最佳答案
1 - inRandomOrder()
非常慢,所以我不建议您使用它。
2 - take(100)->random()
解决方案将始终将 100
行放入内存,然后才会获得 10 个随机行。您提到当集合中只有 5 个项目时您会收到错误,因此请改用以下代码:
$comments = Comment::latest()->take(100)->get();
$count = $comments->count() > 9 ? 10 : $comments->count();
$random = $comments->random($count);
3 - 如果此查询在您的应用程序中经常执行,我建议您创建附加列 sort
并使用计划任务更新此列。每天或几个小时将 1 到 100 个整数设置为 sort
列的值。将这些数字应用于表中最新的 100 行,其他行设置为 0。
然后您将能够通过快速查询获取最新的 radnom 10 行:
$comments = Comment::orderBy('sort')->take(10)->get();
它看起来像复杂的解决方案,但在高负载系统上它是最好的选择之一。
关于laravel - 从前 100 行中随机抽取 10 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40777417/
我想通过将帧划分为 8x8 子 block 并将当前帧的每个 block 与前 10 帧的相邻 block 进行比较,从前 10 帧中找到运动矢量。 我可以用单帧进行操作,但我觉得很难处理 N 帧。
我正在尝试从数据库中选择一个随机条目,但仅从最新的 100 个条目中选择。有什么想法吗?谢谢。 最佳答案 对于 MySql - SELECT * FROM (SELECT * FROM tabl
我有一个表格,其中包含职位状态。表列是: ID //which is unique incremental Post_id //liked post user_id //user
使用 Laravel Eloquent,如何从前 100 行中随机抽取 10 行(按日期排序)。 例如,我有这个: $comments = Comment::orderBy('created_at',
数据是pandas系列:我正在使用df.B=df.A.str.extract(r'')使用提取的 WHERE 单词创建 B 列df: A HI my lines are so super WHERE1
我正在使用下面的脚本从前 24 小时中提取数据并将其输出到一个 html 表中,它在 8 月的整个月都有效,但自从月份更改为 9 月后就搞砸了,现在显示第一个数据入口.. 我的“时间戳”列是 varc
最近学习了Git的基本概念。我们确实使用了一些 git-svn 来熟悉它的使用。我想和我的 friend 一起在 git 上开始我的第一个“真正的”项目。 因此我想问一下您一般使用 Git 的最佳实践
我正在编写一个脚本,我需要在标签上提取 id 中可用的值,我需要使用纯 Javascript 来完成此操作。我有类似的 jQuery 代码可用,但我无法成功完成 Javascript 代码。我的 jq
我有这个查询来选择记录号 49 和 50 SELECT id,date FROM table WHERE enabled=1 ORDER BY id DESC LIMIT 2 OFFSET 48 现在
我是一名优秀的程序员,十分优秀!