我的mySQL
数据库中有一行名为"status"
。在那一行中,我有三个不同的值,"S", "R" or "L"
。
使用php计算和输出每个值出现次数的最简单方法是什么?
谢谢!
答案 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']
希望这会对你有帮助!