计算行中值的出现次数

时间:2015-07-02 21:03:26

标签: php mysqli

我的mySQL数据库中有一行名为"status"。在那一行中,我有三个不同的值,"S", "R" or "L"

使用php计算和输出每个值出现次数的最简单方法是什么?

谢谢!

3 个答案:

答案 0 :(得分:0)

如果没有全面了解您的数据库,很难说,但基本结构是这样的(假设您有另一行称为id)

编辑:在php中演示

$dbc = new mysqli($host, $username, $password, $dbname);    
$query = $dbc->query("select id, count(status) as status_count
    where status = 'S'
    group by id");
$query->fetch_assoc();
$row = $query->fetch_assoc();
echo $row['status_count'];

如果您有多行,请执行以下操作:

while ($row = $query->fetch_assoc()) {

     echo $row['status_count'];


}

答案 1 :(得分:0)

您可以将计数作为单独的行获取:

SELECT status, COUNT(*) as count
FROM yourTable
GROUP BY status

您可以将它们放在一行中:

SELECT SUM(status = 'S') AS s, SUM(status = 'L') AS l, SUM(status = 'R') as r
FROM yourTable

在此之后,您可以阅读单行结果:

$row = $pdo->fetch(PDO::FETCH_ASSOC);
$s_count = $row['s'];
$l_count = $row['l'];
$r_count = $row['r'];

答案 2 :(得分:-2)

使用COUNT

使用mysql查询的更好方法

你可以计算所有的原始数据 SELECT COUNT(*)FROM DATABASE 或者一个原始的 SELECT COUNT(colum_name)FROM DATABASE

为了更容易,你可以给它一个这样的变量名: SELECT COUNT(Colum_name)作为名称FROM DATABASE

这是一个例子,在您连接到数据库之后 使用此:

$ query = mysql_query ('SELECT COUNT (R) as R   FROM status');

$ result = mysql_fetch_array ($ query);

Echo $ result ['R']

希望这会对你有帮助!