Php 如果有超过一定数量的孩子,如何选择父母?
我有一张有所有父母的桌子和一张有所有孩子的桌子 子行采用父行的自动递增id号,并且它们与具有该编号的父行相关。每个孩子只有一个父母,父母可以有大约200个孩子。因此,我想在children count达到200或children count>199时选择一个父项,并列出具有children count的父项 假设在父表上:自动递增的数字列称为ID,名称称为name。在子表上:父id列称为parentID,名称称为cName 1:我如何选择并仅列出有子女的父母 2:如何仅选择和列出孩子数>199的家长 请解释你的代码,当你张贴你的答案,让我可以很容易地理解 编辑:以下是我尝试过的,我不知道我在这里做什么:Php 如果有超过一定数量的孩子,如何选择父母?,php,mysql,Php,Mysql,我有一张有所有父母的桌子和一张有所有孩子的桌子 子行采用父行的自动递增id号,并且它们与具有该编号的父行相关。每个孩子只有一个父母,父母可以有大约200个孩子。因此,我想在children count达到200或children count>199时选择一个父项,并列出具有children count的父项 假设在父表上:自动递增的数字列称为ID,名称称为name。在子表上:父id列称为parentID,名称称为cName 1:我如何选择并仅列出有子女的父母 2:如何仅选择和列出孩子数>199的
$sql3 = 'SELECT parentTable.ID as ParentID,
b.TotalCount
FROM parentTable a INNER JOIN
(
SELECT parentID, COUNT(1) as TotalCount
FROM childTable
WHERE tID = parentID
GROUP BY threadID
) b
ON parentTable.ID = childTable.parentID
AND childTable.TotalCount>199';
我提出了下面这个解决方案,它不是完美的,但它现在起作用了
SELECT ID, COUNT(parentID) as total from parentTable INNER JOIN childTable ON parentTable.ID = childTable.parentID GROUP BY parentTable.ID
对于第二个问题,这里是最后一个完美的问题:
SELECT parentTable.ID, parentTable.Name, COUNT(parentID) as total from parentTable INNER JOIN childTable ON parentTable.ID = childTable.parentID GROUP BY parentTable.ID HAVING COUNT(parentID) > 199
我试了12个小时想弄明白,但我弄不明白。我会加上我的最后一次尝试,但我并没有真正理解它。@PrerakSola别这么粗鲁!如果你不帮忙的话,管好你自己的事吧。