繁体   English   中英

计算行中出现的值

[英]Count occurrences of value in row

我的mySQL数据库中有一行叫做"status" 在那一行中,我得到了三个不同的值,即"S", "R" or "L"

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

谢谢!

没有全面了解数据库很难说,但是基本结构是这样(假设您还有另一行称为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'];


}

您可以使用以下方法将计数作为单独的行获取:

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'];

更好的方法是使用COUNT使用mysql查询

您可以计算来自数据库的所有原始SELECT COUNT(*)或来自数据库的一个原始SELECT COUNT(colum_name)

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

因此,在连接数据库之后,使用以下示例:

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

$ result = mysql_fetch_array ($ query);

Echo $ result ['R']

希望这个能对您有所帮助 !

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM