LaravelでGROUP BYを使用する方法


  1. Eloquentを使用する場合: Eloquentは、LaravelのORM(Object-Relational Mapping)です。以下のようにクエリを構築することで、GROUP BYを使用できます。
$users = User::groupBy('age')->get();

上記の例では、Userモデルからageカラムでグループ化した結果を取得しています。

  1. Query Builderを使用する場合: Query Builderを使用してクエリを構築することもできます。以下のようにgroupByメソッドを使用します。
$users = DB::table('users')
            ->groupBy('age')
            ->get();

上記の例では、usersテーブルからageカラムでグループ化した結果を取得しています。

  1. グループ化した結果を取得する場合: GROUP BYを使用すると、クエリ結果をグループ化することができますが、グループ化された結果を取得する方法も重要です。以下のように、selectメソッドを使用して必要なカラムを指定します。
$users = User::groupBy('age')
             ->select('age', DB::raw('count(*) as total'))
             ->get();

上記の例では、ageカラムとグループ内のレコード数を含むtotalカラムを取得しています。