php中的group如何使用,GROUP BY 语句怎么用php输出来类

数据库 tabel 中有 `chengji` 字段 内容为 及格 不及格 良好 三种值

页面显示出三种值的统计数

我用 SELECT `chengji`,count(*) FROM `table` GROUP BY `chengji`

在Mysql 中可以出来 可是要怎么显示到php文件中那

页面样子为

| 不及格 | 及格 | 良好 |

数量 | | | |

回复讨论(解决方案)

$sql = SELECT `chengji`,count(*) AS count FROM `table` GROUP BY `chengji`

在php中把mysql_query($sql);的结果打印出来看看

$sql = SELECT `chengji`,count(*) AS count FROM `table` GROUP BY `chengji`

在php中把mysql_query($sql);的结果打印出来看看

结果是Resource id #5

$sql = SELECT `chengji`,count(*) AS count FROM `table` GROUP BY `chengji`

在php中把mysql_query($sql);的结果打印出来看看

用mysql_fetch_array

结果为Array ( [0] => 及格 [type] => 及格 [1] => 4 [count] => 4 )

用mysql_fetch_array

结果为Array ( [0] => 及格 [type] => 及格 [1] => 4 [count] => 4 )

while($row = mysql_fetch_array()){}

用mysql_fetch_array

结果为Array ( [0] => 及格 [type] => 及格 [1] => 4 [count] => 4 )

while($row = mysql_fetch_array()){}

我明白了 这样和数据库中查询出的格式的一样的

可是我想在页面中做一个固定的table 和数据库中的格式不一样

$sql = SELECT `chengji`,count(*) AS count FROM `table` GROUP BY `chengji`;$rs = mysql_query($sql);while($row = mysql_fetch_assoc($rs)) { $res[$row['chengji']] = $row['count'];}print_r($res);可以得到类似这样的数组 Array( [及格] => 4 [不及格] => 1 [良好] => 3)

然后 $res[''] = '数量';$head = array('', '不及格', '及格', '良好');echo '';echo '

' . join('', $head) . '';echo '

';foreach($head as $v) echo '' . (isset($res[$v]) ? $res[$v] : '') . '';echo '';

再问个小问题 怎么用date() 获取 当月 月初 和 月末 日期

再问个小问题 怎么用date() 获取 当月 月初 和 月末 日期

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
使用 MySQL 的 GROUP BY 子句时,如果对结果集进行 COUNT 操作,可能会出现不准确的结果。这是因为 GROUP BY 会将结果集根据指定的列进行分组,而 COUNT 操作是对整个结果集进行计数。如果一个分组有多行数据,那么 COUNT 操作会将这个分组的所有行计数为一行。 为了解决这个问题,可以使用 PHP 的 array_count_values() 函数。该函数可以统计一个数组各个元素出现的次数,并返回一个关联数组,其键是数组元素,值是出现的次数。 具体实现方法如下: 1.使用 MySQL 查询出需要处理的数据,并将结果保存到一个数组; 2.使用 PHP 的 array_group_by() 函数对数组进行分组; 3.对每个分组使用 array_count_values() 函数进行计数,并将结果保存到一个新的数组。 下面是一个示例代码: ``` // 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "dbname"); // 查询数据 $sql = "SELECT * FROM table"; $result = mysqli_query($conn, $sql); // 将结果保存到数组 $data = array(); while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; } // 对数组进行分组 function array_group_by($arr, $key) { $grouped = array(); foreach ($arr as $value) { $grouped[$value[$key]][] = $value; } return $grouped; } $grouped_data = array_group_by($data, 'column_name'); // 对每个分组进行计数 $counted_data = array(); foreach ($grouped_data as $key => $group) { $counted_data[$key] = count($group); } // 输出结果 print_r($counted_data); ``` 注意:这种方法适用于数据量不大的情况,如果数据量很大,可能会影响性能。在这种情况下,最好直接使用 MySQL 的 COUNT 函数,并对查询语句进行优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值