php - 如何在数组中回显 GROUP BY mysql?

标签 php mysql arrays group-by

我有这个数据

ID DATEREG     REQUEST
1  2016-10-24  PAPER
2  2016-10-24  PENCIL
3  2016-10-24  BALLPEN
4  2016-10-25  PAPER
5  2016-10-26  PENCIL

这是我用来计算总请求的查询。

    $rows = '';
    $query = "SELECT id,count(*) as total,date,request FROM list GROUP BY date,request ORDER BY id DESC LIMIT 10";
    $result = mysqli_query($con,$query);
    $total_rows =  $result->num_rows;
    if($result) 
    {
    $rowsv1 = mysqli_fetch_all($result, MYSQLI_ASSOC);
    print "<pre>";
    echo print_r($rowsv1);
    print "</pre>";
    }

以及请求仅显示1(DESC顺序)的示例结果:

[0] => Array
    (
        [id] => 5
        [total] => 3
        [datereg] => 2016-10-24
        [request] => PAPER
    )

我想看起来像这样:

[0] => Array
    (
        [id] => 5
        [total] => 3
        [datereg] => 2016-10-24
        [request1] => 1(total of PAPER)
        [request2] => 2(total of PENCIL)
        [request3] => 3(total of BALLPEN)
    )

谢谢

最佳答案

我对您的查询做了一些更改,所以现在首先按请求分组,然后按日期分组。但是您必须在 php 中聚合结果,以便将所有 3 个请求放入一个数组项中

   $query = "SELECT id,count(*) as total,date,request FROM list GROUP BY request, date ORDER BY id DESC LIMIT 10";

否则,它将按日期分组,这将导致将给定日期的结果聚合到仅一个请求。

关于php - 如何在数组中回显 GROUP BY mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40230701/

相关文章:

php - MySQL 错误 `ON DUPLICATE KEY UPDATE`

python - 类型 str 没有定义 __round__ 方法错误

javascript - 如何使用 forEach 将 javascript 中的数组元素转换为独立数组

mysql - 有没有办法在mysql中转换时间格式

C 中无法在另一个函数中打印函数的返回值

php - 在 PHP 中动态创建 MySql 表并跟踪它们

php - 无法使用 mysql_connect 连接到 ipage.com 托管中的数据库?

php - Kohana 3分页

mysql - $wpdb->insert_id 不工作

mysql - 如何将 MySQL SUM() 函数添加到此查询?