1

このクエリは、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

4

1 に答える 1