如何获取laravel中每个用户ID的最新行?

id  user_id  name    qty     datetime

--- ---------  ----    ----    -----------

1   1           a      5       2019-12-01 12:26:01

2   2           b      3       2019-12-13 12:26:02

3   1           c      4       2019-12-13 12:26:03

4   2           a      2       2019-12-25 12:26:04

5   1           c      2       2019-12-21 12:26:06

我想要这个数据


id  user_id  name    qty     datetime

--- ---------  ----    ----    -----------

5   1           c      2       2019-12-21 12:26:06

4   2           a      2       2019-12-25 12:26:04

使用 laravel,如果可能的话,那么它的 sql 查询将是什么


繁星点点滴滴
浏览 177回答 3
3回答

芜湖不芜

楷模:用户: id、name、email 等...订单: user_id、qty、name、datetime 等。型号查询:Orders::orderBy('datetime', 'desc')->get()->unique('user_id');数据库查询DB::table('orders')->orderBy('datetime', 'desc')->get()->unique('user_id');

12345678_0001

或不相关的子查询...select x.*from mytable xjoin (    select user_id, max(t1.datetime) datetime from mytable group by user_id) yon y.user_id = x.user_idand y.datetime = x.datetime

波斯汪

在纯 SQL 中,您可以使用相关子查询进行过滤:select t.*from mytable twhere t.datetime = (    select max(t1.datetime) from mytable t1 where t1.user_id = t.user_id)
打开App,查看更多内容
随时随地看视频慕课网APP