【发布时间】:2014-10-30 05:35:00
【问题描述】:
我正在使用 Laravel 的查询构建器执行此查询,其中两个表在列 s_nid 上进行了左连接。在我加入conference_report 的表格中,有很多行有一个s_nid,我只想取回最近日期的行。我一直在查看 Groupwise Maximum 以及 SO 上的一些示例,这对我来说是新的,我认为这是完成查询所需的,但我不确定如何在我加入的表上实现它。
$data['students'] = DB::table('educational_report')
->select('educational_report.s_nid as s_nid'
,'educational_report.name as name'
,'educational_report.file_no as file_no'
,'educational_report.university as university'
,'conference_report.conference_end_date as conference_end_date'
,'student_status.status as status')
->leftJoin('student_status', 'student_status.s_nid', '=', 'educational_report.s_nid')
->leftJoin('conference_report', 'conference_report.s_nid', '=', 'educational_report.s_nid')
->distinct()
->groupBy('s_nid')
->paginate(10);
可能有用的链接:
Performing a Groupwise Maximum in Laravel 4
http://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html
【问题讨论】:
标签: php mysql sql laravel groupwise-maximum