SELECT Person.name, Person.lastName, COUNT(DISTINCT childrenID)
FROM Person, ParentChildren
WHERE ParentChildren.parentID = ParentChildren.parentID
AND Person.ID = ParentChildren.parentID
GROUP BY COUNT(DISTINCT childrenID) DESC;
它显然不起作用,因为我不擅长这个。 它应该做的是显示姓名,姓氏和这个人从多少个孩子开始的孩子。
任何帮助将不胜感激:)
答案 0 :(得分:2)
您的WHERE语句不正确。你分组也是不正确的。您按照未进行SUM'd,COUNT'd等的列进行分组
WHERE ParentChildren.parentID = ParentChildren.parentID
如果您将其切换到正确的表连接,那么您可能会得到您正在寻找的答案。 编辑:看完原理图后,我认为这就是你想要的:
SELECT
Person.name,
Person.lastName,
COUNT(DISTINCT ParentChildren.childrenID)
FROM Person, ParentChildren
WHERE
Person.ID = ParentChildren.parentID
GROUP BY
Person.name,
Person.lastName
ORDER BY
COUNT(DISTINCT childrenID) DESC;
如果您收到错误,可以发布吗?