Group by statement
Aggregate queries with proper paging
It is tricky to use GROUP BY with server-side processing because of paging.
The library handles it transparently — no extra configuration needed.
| Genre | Total Length |
|---|---|
| Loading… | |
<?php
use Ozdemir\Datatables\Datatables;
use Ozdemir\Datatables\DB\SQLite;
Route::get('/ajax/group-by', function () {
$path = dirname(__DIR__).'/database/Chinook_Sqlite_AutoIncrementPKs.sqlite';
$dt = new Datatables(new SQLite($path));
$dt->query('Select Genre.Name as genre_name, sum(Milliseconds)/(1000*60) as total_length
from Genre
join Track on Track.GenreId = Genre.GenreId
group by Genre.GenreId');
$dt->edit('total_length', function ($data) {
return $data['total_length'].' minutes';
});
return $dt->generate();
});