即使有这样的多个问题,我也无法通过查询查询返回带有分组依据的最近日期的行。
我有下表。
| message_id | from | to | created_at | status
----------------------------------------------
| 1 | 1 | 2 | 2017-04-06 | 1
| 2 | 1 | 2 | 2017-04-07 | 0
| 3 | 3 | 4 | 2017-04-06 | 1
| 4 | 3 | 4 | 2017-04-07 | 0
----------------------------------------------
我正在尝试获取最近日期的行。
| message_id | from | to | created_at | status
----------------------------------------------
| 2 | 1 | 2 | 2017-04-07 | 0
| 4 | 3 | 4 | 2017-04-07 | 0
当前,此查询返回具有最近日期的行。
$messages = Message::where('to', Auth::id())
->groupBy('from')
->orderBy('created_at', 'DESC')
->paginate(10);
问题在于结果集将被首先 分组 然后 排序 。您可以使用嵌套选择来获取所需的内容。
SQL查询:
SELECT t.* FROM (SELECT * FROM messages ORDER BY created_at DESC) t GROUP BY t.from
使用Laravel:
$messages = Message::select(DB::raw('t.*'))
->from(DB::raw('(SELECT * FROM messages ORDER BY created_at DESC) t'))
->groupBy('t.from')
->get();
您只需要添加where()
子句。
数据库 我对数据库有点陌生,我制作了这个小数据库,但从中获取数据时遇到了问题。我试图从登录的用户那里获取所有参赛者,它工作正常,但是如果我输入
不管怎样,感谢所有人的回答。
我有一个这样的数据帧: 必修的: 相关链接:pandas groupby的最小和最大行 pandas groupby中两个系列的最大值和最小值 pandas groupby中的最大和最小日期 单击groupby,然后按列的值(例如,最小值、最大值)选择一行
我在获取数据方面有问题。这是控制台中弹出的错误。。。 未捕获的错误:模块构建失败(来自。/node_modules/Babel-loader/lib/index.js): SynTaxError: /var/www/html/laravel/resources/js/components/Content.vue: const是一个保留字(8:4) 我在用法上做错了什么吗? 也在App.js中
问题内容: 这个问题已经在这里有了答案 : 获取字典中具有最大值的键? (25个答案) 4年前关闭。 我正在尝试获取dict键,其值是所有dict值的最大值。 我发现了两种方法,都不够优雅。 有没有更好的方法? 问题答案: 使用参数可以: 演示: 该参数接受一个函数,对于可迭代的每个条目,它将找到该函数为其返回最大值的那个条目。
我有一个查询,然后使用foreach循环。 我通过消除空值进行筛选,然后将其推入集合 然后将二维阵列与一维阵列进行平面化转换。 所以,我有收集格式的数据。 我的问题是如何从收集中获得最小最大值? 例如我的数据: 预期产出: 代码: 如有任何帮助,我将不胜感激