[英]for each value of one table get and display count number of coresponding values from another table
[英]Count number of family members from one table for each rows in another table called house?
我有两个 MySQL 表,第一个是房子,第二个是家庭,房子表有两列称为house_id
和house_name
,而第二个表有三列family_id, member_name
家庭表中的最后一列用于从第一个表中引用 house_id是house_id
概念:如何通过仅在房屋表上获取来获取具有/来自某个房屋的家庭成员的数量并将计数的数字放入 HTML 表中?
我创建了以下脚本来从家里取货,
SELECT * FROM house;
我像这样使用 foreach 操作获取的数据,
$mystmt = $db -> prepare('SELECT * FROM house');
$mystmt->execute();
$myresult = $mystmt->fetchAll();
foreach($myresult as $mydata) {
$myarray = array();
$myarray[] = $mydata['house_id'];
$myarray[] = $mydata['house_name'];
$output[] = $myarray;
}
echo json_encode($output);
在上面的代码中,我只得到两列house_id
和house_name
,现在如何调整此代码以从家庭表中计数,以便我可以获得另一列名为total_family_members
像这样
family_id | member_name | house_id
1 | John Jackson | 1
2 | Ketty Bebe | 2
3 | Maam Juke | 1
4 | Tike Nuke | 2
5 | Carol Michael | 2
期望的结果
house_id | house_name | total_family_members
1 | Joh's house| 2
2 | kim's house| 3
在您的示例中,涉及两个不同的过程:
这是一个解决方案:
SELECT house.house_id , house.house_name , COUNT( * ) AS total_family_members
FROM house
INNER JOIN family ON family.house_id = house.house_id
GROUP BY family.house_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.