You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHP统计数据库表中相同数据的出现次数总和

PHP实现数据库字段值出现次数统计方案

前置假设

我们假设你提供的数据库表名为user_data,待统计的字段名为type,你可以根据实际表结构替换对应名称。

实现代码(PDO版本,推荐,防SQL注入)

<?php
// 数据库配置
$host = 'localhost';
$dbname = '你的数据库名';
$username = '数据库账号';
$password = '数据库密码';

try {
    // 建立PDO连接
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 分组统计SQL,直接在数据库层完成统计,效率更高
    $sql = "SELECT `type`, COUNT(*) AS `occur_count` FROM `user_data` GROUP BY `type` ORDER BY `type`";
    $stmt = $pdo->query($sql);
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // 输出结果
    foreach ($result as $item) {
        echo "{$item['type']}的出现次数:{$item['occur_count']}<br>";
    }

} catch(PDOException $e) {
    echo "数据库操作出错:" . $e->getMessage();
}
?>

实现代码(MySQLi版本)

如果你习惯用MySQLi,可以用以下写法:

<?php
// 数据库配置
$host = 'localhost';
$dbname = '你的数据库名';
$username = '数据库账号';
$password = '数据库密码';

// 建立连接
$conn = new mysqli($host, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$conn->set_charset('utf8mb4');

// 执行统计查询
$sql = "SELECT `type`, COUNT(*) AS `occur_count` FROM `user_data` GROUP BY `type` ORDER BY `type`";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "{$row['type']}的出现次数:{$row['occur_count']}<br>";
    }
} else {
    echo "没有匹配的数据";
}
$conn->close();
?>

说明

如果需要只统计A、B、C三类,可以在SQL里加WHERE条件:WHERE type IN ('A','B','C')即可。

内容的提问来源于stack exchange,提问作者Vishal Vishwakarma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:39:04