我是PHP的新手,我正在尝试从行计数数据库中获取结果。我使用了以下给定的方法:
$result = $mysqli->query("SELECT * FROM donors WHERE blood_group = 'A+'");
$Apositive = $result->num_rows;
现在您可以看到我必须为每个血型执行此查询。
有没有更简单的方法以一种方式获得所有这些结果?
答案 0 :(得分:3)
SELECT blood_group, count(*) AS donor_count
FROM donors
GROUP BY blood_group
将返回一系列结果,每个blood_group
一个,其中包含donor_count
中该组的捐赠者数量;然后你可以循环遍历结果集
修改强>
$query = "SELECT blood_group, count(*) AS donor_count
FROM donors
GROUP BY blood_group";
if ($result = $mysqli->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf (
"Blood Group: %s has %d donors)\n",
$row["blood_group"],
$row["donor_count"]
);
}
}