【问题标题】:Group By in DataTables server side在 DataTables 服务器端分组
【发布时间】:2016-09-22 07:08:27
【问题描述】:

我使用数据表服务器端。但是当我的查询需要分组来选择数据时,我遇到了问题。如何在数据表服务器端分组?有可能吗?

【问题讨论】:

    标签: jquery codeigniter datatables


    【解决方案1】:

    是的,这是可能的。但是您需要使用“分组依据”作为子查询。否则,分页/数据计数将被搞砸。

    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
    

    如果您不想在编码上浪费时间,请查看此链接。这是一个如何使用数据表库的示例。

    https://datatables.ozdemir.be/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();
    

    【讨论】:

    • 它给出了一个错误“'字段列表'中的未知列'SUM'”
    • 你应该为 sql 函数使用别名
    猜你喜欢
    • 1970-01-01
    • 2012-07-18
    • 2011-11-24
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2014-11-13
    相关资源
    最近更新 更多