为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
繁星点点滴滴 2022-06-17 15:43:18
id  user_id  name    qty     datetime--- ---------  ----    ----    -----------1   1           a      5       2019-12-01 12:26:012   2           b      3       2019-12-13 12:26:023   1           c      4       2019-12-13 12:26:034   2           a      2       2019-12-25 12:26:045   1           c      2       2019-12-21 12:26:06我想要这个数据id  user_id  name    qty     datetime--- ---------  ----    ----    -----------5   1           c      2       2019-12-21 12:26:064   2           a      2       2019-12-25 12:26:04使用 laravel,如果可能的话,那么它的 sql 查询将是什么
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

楷模:

用户: 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');


查看完整回答
反对 回复 2022-06-17
?
12345678_0001

TA贡献1802条经验 获得超5个赞

或不相关的子查询...


select x.*

from mytable x

join (

    select user_id, max(t1.datetime) datetime from mytable group by user_id

) y

on y.user_id = x.user_id

and y.datetime = x.datetime


查看完整回答
反对 回复 2022-06-17
?
波斯汪

TA贡献1811条经验 获得超4个赞

在纯 SQL 中,您可以使用相关子查询进行过滤:


select t.*

from mytable t

where t.datetime = (

    select max(t1.datetime) from mytable t1 where t1.user_id = t.user_id

)


查看完整回答
反对 回复 2022-06-17
  • 3 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信