Php 在另一个名为house的表中,每行计算一个表中的家庭成员数?

Php 在另一个名为house的表中,每行计算一个表中的家庭成员数?,php,mysql,sql,Php,Mysql,Sql,我有两个MySQL表,第一个是house,第二个是one family,house表有两列名为house\u id和house\u name,而第二个表有三列family\u id,member\u name家族表中用于引用第一个表中的house\u id的最后一列这是house\u id 概念: 如何通过仅在house表上获取来获取与/来自某个房子的家庭成员的数量,并将计数的数字放入HTML表中 我创建了以下脚本以从house获取 SELECT * FROM house; 我用foreach

我有两个MySQL表,第一个是house,第二个是one family,house表有两列名为
house\u id
house\u name
,而第二个表有三列
family\u id,member\u name
家族表中用于引用第一个表中的house\u id的最后一列这是
house\u id

概念: 如何通过仅在house表上获取来获取与/来自某个房子的家庭成员的数量,并将计数的数字放入HTML表中

我创建了以下脚本以从house获取

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\u id
house\u name
,现在如何调整此代码以从family表中计数,以便获得另一列名为
total\u family\u 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

在您的示例中,涉及两个不同的过程:

  • 将每个人的房屋id链接到房屋名称。这可以通过连接来实现
  • 数一数每家的人数。这可以通过分组和计数来实现
  • 以下是一个解决方案:

    选择house.house\u id、house.house\u name、COUNT(*)作为家庭成员总数
    从家里
    family.house\u id=house.house\u id上的内部连接家庭
    按family.house\u id分组
    
    您的问题可能是拙劣的,因为很难理解预期结果到底是什么。如果我错了,请纠正我的错误,但我认为您需要与族表进行左外部联接,然后在组上使用一些聚合函数,这不是我想要的,正如您在上面的PHP代码中看到的,我想添加由族表查询产生的另一个元素/数据,即SELECT COUNT(*)“从house表中的house_id=id_并将结果放入arrayA联接中的family中”aepelman编辑