【问题标题】:Get maximum value containing row using groupby function in laravel在 laravel 中使用 groupby 函数获取包含行的最大值
【发布时间】:2021-06-25 06:04:46
【问题描述】:

我需要帮助来获取在 laravel 中由 report_type_id 分组的表的最大 data_date。所以为了得到这个,我这样写了我的查询

$latest_reports =  Filelist::
whereRaw('data_date in (select max(data_date) from filelists  GROUP BY (report_type_id))')
->where('access_id','=',$retailer_supplier_id->id)
->get();

这是我的桌子,请看一下

id    access_id   filename      report_type_id    data_date

1       16        filename1            6         2021-02-01

2       16        filename2            6         2021-01-01

3       16        filename3            6         2021-03-01

4       16        filename4            6         2021-04-01

5       16        filename5            7         2021-03-01

6       16        filename6            7         2021-05-01

我得到这样的结果

id    access_id   filename      report_type_id    data_date

1       16        filename1            6         2021-02-01

3       16        filename3            6         2021-03-01

4       16        filename1            6         2021-04-01

我想得到这样的结果

id    access_id   filename      report_type_id    data_date

4       16        filename4            6         2021-04-01

6       16        filename6            7         2021-05-01

【问题讨论】:

  • 为什么不使用 order by desc 然后按报告 id 分组
  • @Rafee 我已经完成了 $latest_reports = Filelist:: select('report_type_id',DB::raw('filename,max(data_date) as latest_date')) ->where('access_id','=',$retailer_supplier_id->id) ->groupBy('report_type_id') ->orderBy('data_date','desc') ->get(); 但它不起作用

标签: laravel group-by max


【解决方案1】:

如果您想获得有关日期的更早记录

试试这个

$latest_report= Fielist::where('access_id','=',$retailer_supplier_id- 
>id)->latest('data_date')groupby('report_type_id')->first();

如果你想获得早期的 2 regads 试试这个

 $latest_reports= Fielist::where('access_id','=',$retailer_supplier_id- 
>id)->groupby('report_type_id')
->order_by('datetime', 'desc')
->limit(2)->get();

【讨论】:

  • 不能先在那里使用,因为会根据access_idreport_type_id 得出多个结果
  • 试试这个,它会给你记录重复的记录
  • 产生相同的结果
猜你喜欢
  • 2018-12-31
相关资源
最近更新 更多