【发布时间】:2017-10-05 07:12:40
【问题描述】:
我在 MySQL 数据库中有一组数据,用于名为“events”的表,时间戳格式为 06/May/2017 20:30:51,位于名为“timestamp”的列中
系统每天都会生成大量数据,但我每天只需要选择 10 个数据。
当前查询是:
$events = DB::table('events')
->select('events.id', 'events.nid', 'events.timestamp')
->orderBy('events.id','desc')
->get();
如何使用查询生成器实现此目的。
进一步说明:
在一组数据库中会有 100 个数据:
15 组数据,日期为 01/May/2017
20 组数据,日期为 02/May/2017
12 组数据,日期为 03/May/2017
30 组数据,日期为 04/May/2017
15 组数据,日期为 05/May/2017
8 组数据,日期为 06/May/2017
我想要实现的是一个将选择的查询:
10 组数据,日期为 2017 年 5 月 1 日(如果有)
10 组数据,日期为 2017 年 5 月 2 日(如果有)
10 组数据,日期为 2017 年 5 月 3 日(如果有)
10 组数据,日期为 2017 年 5 月 4 日(如果有)
10 组数据,日期为 2017 年 5 月 5 日(如果有)
10 组数据,日期为 2017 年 5 月 6 日(如果有)
在单个查询构建器中。
【问题讨论】:
-
在查询中使用
->take(10)laravel.com/docs/5.4/queries#ordering-grouping-limit-and-offset -
使用 take 是针对整个查询数据。但是我想为整个查询每天只选择 10 个数据
-
->where('timestamp', '>', 'some-start-date')->where('timestamp', '
-
Ryan Tuosto 感谢您的回复,但这不是我想要的。我已经用进一步的解释编辑了这个问题
标签: php mysql laravel query-builder