0
私はdatatablesサーバー側を使用しました。しかし、データを選択するためにクエリにグループが必要なときに問題が発生しました。どのようにdatatablesのサーバー側でグループ化するには?それが可能だ?Group By DataTablesサーバー側
私はdatatablesサーバー側を使用しました。しかし、データを選択するためにクエリにグループが必要なときに問題が発生しました。どのようにdatatablesのサーバー側でグループ化するには?それが可能だ?Group By DataTablesサーバー側
はい、可能です。しかし、サブクエリとして "group by"を使用する必要があります。さもなければ、ページネーション/データ数が狂ってしまいます。
SELECT category_name, total_length
FROM (Select
any_value(category.name) as category_name,
concat(sum(length), \" minutes\") as total_length
from film
left join film_category on film_category.film_id = film.film_id
left join category on film_category.category_id = category.category_id
group by category.category_id) as Table1
コーディングに時間を費やしたくない場合は、このリンクをチェックしてください。これは、どのようにdatatablesライブラリでそれを行う例です。
https://github.com/n1crack/datatables-examples/tree/master/sqlite_examples/group_by
<?php
require '../../../vendor/autoload.php';
use Ozdemir\Datatables\Datatables;
use Ozdemir\Datatables\DB\MySQL;
include "../../_config.php";
$dt = new Datatables(new MySQL($config));
$dt->query("Select
any_value(category.name) as category_name,
concat(sum(length), \" minutes\") as total_length
from film
left join film_category on film_category.film_id = film.film_id
left join category on film_category.category_id = category.category_id
group by category.category_id");
echo $dt->generate();