【发布时间】:2019-05-11 00:44:19
【问题描述】:
我有以下表格及其字段
他们问我一个在我看来相当复杂的查询,我已经走了两天并尝试了一些事情,它说:
希望获得女性运动员、奖牌获得者(金牌、银牌或铜牌)在“艺术体操”不同模式下的平均年龄。分析结果字段的可能内容以便仅返回预期值,即使查询显示的记录集没有任何特定值的数据。具体来说,我们要显示运动员的性别指标、获得的奖牌以及这些运动员的平均年龄。年龄的计算方法是从系统日期(SYSDATE)中减去运动员的出生日期,再除以 365。为了避免显示小数,截断(TRUNC)年龄计算的结果。按运动员的平均年龄排列结果。
现在我有这个:
select person.gender,score.score
from person,athlete,score,competition,sport
where person.idperson = athlete.idathlete and
athlete.idathlete= score.idathlete and
competition.idsport = sport.idsport and
person.gender='F' and competition.idsport=18 and score.score in
('Gold','Silver','Bronze')
group by
person.gender,
score.score;
我把它弄出来了
通过添加 person.birthdate 字段而不是留下 18 个获得奖章的人的 18 条记录,我将获得更多记录。
除此之外,我仍然需要使用 SYSDATE 和 TRUNC 绘制平均年龄,我尝试了很多方法,但我不明白。
我觉得它很复杂,或者我因为太多的旋转而有点饱和,我需要一些帮助。
【问题讨论】: