php – Laravel 4 Query Builder – groupBy Max Date
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Laravel 4 Query Builder – groupBy Max Date,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1513字,纯文字阅读大概需要3分钟。
内容图文
![php – Laravel 4 Query Builder – groupBy Max Date](/upload/InfoBanner/zyjiaocheng/761/db0dc159230a479d9aec161ca663ffff.jpg)
小问题,
我有桌子:
id | user_id | paper_update
------------------------------
1 | 1 | 30-5-2011
2 | 2 | 30-5-2012
3 | 3 | 30-5-2012
4 | 1 | 30-5-2013
5 | 2 | 30-5-2013
6 | 3 | 30-5-2014
7 | 4 | 30-5-2014
8 | 5 | 30-5-2014
9 | 5 | 30-5-2015
10 | 5 | 30-5-2016
11 | 1 | 30-5-2010
-------------------------------
我想要做的是只选择具有相同user_id的记录之间paper_update最大的记录,实际上我想按user_id分组以达到最大paper_update.
所以对于这个表,它将返回:
id | user_id | paper_update
------------------------------
4 | 1 | 30-5-2013
5 | 2 | 30-5-2013
6 | 3 | 30-5-2014
7 | 4 | 30-5-2014
10 | 5 | 30-5-2016
-------------------------------
解决方法:
这是在laravel中获得groupBy Max Date的最简单,最短的方法.使用user_id获取具有最大日期的行.
$rows = DB::table('papers')
->select(DB::raw('id, max(paper_update) as year,user_id'))
->groupBy('user_id')
//->orderBy('paper_update', 'desc')
->get();
这个laravel查询将创建一个这样的mysql查询
select id, max(paper_update) as year from `papers` group by `user_id`;
输出将是
Array
(
[0] => stdClass Object
(
[id] => 4
[year] => 30-5-2013
[user_id] => 1
)
[1] => stdClass Object
(
[id] => 5
[year] => 30-5-2013
[user_id] => 2
)
[2] => stdClass Object
(
[id] => 6
[year] => 30-5-2014
[user_id] => 3
)
[3] => stdClass Object
(
[id] => 7
[year] => 30-5-2014
[user_id] => 4
)
[4] => stdClass Object
(
[id] => 10
[year] => 30-5-2016
[user_id] => 5
)
)
内容总结
以上是互联网集市为您收集整理的php – Laravel 4 Query Builder – groupBy Max Date全部内容,希望文章能够帮你解决php – Laravel 4 Query Builder – groupBy Max Date所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。