このクエリは、Laravel のクエリ ビルダを使用して実行し、列でリンクしている 2 つのテーブルとの左結合を使用していますs_nid
。私が参加しているテーブルにはconference_report
、1つの行がたくさんありs_nid
、最新の日付の行だけを取得したいです。私はここでいくつかの例を使用して Groupwise Maximum を見てきましたが、これは私にとって新しいものであり、クエリを完了するために必要なものだと思いますが、参加しているテーブルにそれを実装する方法がわかりません。
$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);
おそらく役立つリンク:
Laravel 4 で Groupwise Maximum を実行する
http://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html