【发布时间】:2019-11-06 10:15:23
【问题描述】:
我的问题:成为第一个爷爷的平均年龄是多少?解决方案应以average_age 的形式给出。一个人成为爷爷的那一天就是他的第一个孙子出生的地方。
关系:
human (name, gender, age)
parent (ParentName, ChildName) -> is subset of human(name).
表:
我知道爷爷是一个有父母名字和孩子名字的人,也是一个人(父亲)的父母名字,有孩子的孩子(孙子)。现在的问题是如何计算成为爷爷的平均年龄。
到目前为止我得到了什么:
SELECT AVG(age) as average_age
FROM human h JOIN
parent p
ON h.name = p.parentname
WHERE h.gender = 'm' AND p.parentname = p.childname AND h.name = p.parentname
预期结果:
average_age : 52
【问题讨论】:
-
你说的成为 第一 爷爷是什么意思?
-
@GMB 也许是指一个人的第一个孙子的出生年龄?
-
更新您的问题添加适当的数据样本和预期结果
-
父亲第一次当爷爷。这只是意味着一个爷爷也可以有更多的孙子,你必须计算他成为爷爷的平均年龄。
-
请在代码问题中给出minimal reproducible example--剪切&粘贴&运行代码;具有期望和实际输出(包括逐字错误消息)的示例输入(作为初始化代码);标签和版本;明确的规范和解释。对于包含最少代码的错误,您可以给出的代码是您显示的代码可以通过您显示的代码扩展为不正常。 (调试基础。)对于包含 DBMS 和 DDL 的 SQL,其中包括约束、索引和表格初始化。