Laravel 8 Group By Query Example

In this article, we will see laravel 8 group by query example. how to use group by in laravel 8. As you might expect, the groupBy and having methods may be used to group the query results. learn how to create a collection of data using the laravel groupBy method. It can allow us to group the data by type, id, date, etc.

Also, we will give you an example of the laravel 8 group by with where clause and query of the group by in MySQL. The GROUP BY statement is often used with aggregate functions COUNT()MAX()MIN()SUM()AVG() to group the result set by one or more columns.

So, let's see how to use group by in laravel 6, laravel 7, and laravel 8 or laravel 8 group by with where clause.

SQL Query:

SQL Group By Syntax:

SELECT column_names
FROM table_name
WHERE condition
GROUP BY column_names
ORDER BY column_names;

 

 

SELECT COUNT(user_id), country
FROM users
GROUP BY country;

 

Laravel Query:

The “Group By” function belongs to the collection, not an eloquent category.

use App\User;
use DB;

public function index()
{
    $users = User::select("*", DB::raw("count(*) as user_id"))
                    ->groupBy('country')
                    ->get();
}

 

Laravel groupBy() with having() query example:

The having method's signature is similar to that of the where method.

$users = DB::table('users')
                ->groupBy('account_id')
                ->having('account_id', '>', 100)
                ->get();

 

 

Laravel groupBy() with Date

Now, we will give you an example of the group by date or group by year.

DB::table('users')
      ->select(DB::raw('DATE(created_at) as date'), DB::raw('count(*) as views'))
      ->groupBy('date')
      ->get();

 

$users = User::select("*", DB::raw("count(*) as user_count"))
                        ->groupBy(DB::raw("year(created_at)"))
                        ->get();

 


You might also like:

RECOMMENDED POSTS

FEATURE POSTS