[英]How to calculate averages from two different tables on MySQL?
我在MySQL上有两个不同的表,分别称为“患者”和“供体”。 我想计算患者年龄和供体年龄的平均值。
我在MySQL上运行此查询:
SELECT AVG(patient_age) AS patient_age_avg FROM patient JOIN (SELECT
AVG(donor_age) AS donor_age_avg FROM donor);
它返回我这个错误:
错误代码:1248。每个派生表必须具有自己的别名
我在哪里犯错?
只需在SELECT
使用两个子查询:
SELECT (SELECT AVG(patient_age) FROM patient) as patient_age_avg,
(SELECT AVG(donor_age) FROM donor) as donor_age_avg;
或者,如果您真的喜欢,可以将它们放在FROM
子句中,然后使用CROSS JOIN
:
SELECT p.patient_age_avg, d.donor_age_avg
FROM (SELECT AVG(patient_age) as patient_age_avg FROM patient
) p CROSS JOIN
(SELECT AVG(donor_age) as donor_age_avg FROM donor
) d;
我稍微喜欢第一种方法,因为我不必发明表别名-但这确实是一个次要,次要,次要的考虑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.