聚合可能不会出现在WHERE子句错误中

时间:2018-10-11 15:47:20

标签: mysql database error-handling

此代码不断出现错误。

SELECT count(first_name)
FROM patients
where gender = 'M' and patient_height > 
    (avg(patient_height))
        having gender = 'F';

我希望它显示数据库中每个男性体重均低于女性的男性。
一个帮助会很棒。

1 个答案:

答案 0 :(得分:0)

尝试一下,首先在子查询中计算女性身高的平均值,然后在WHERE子句中使用它。

SELECT
    count(first_name)
FROM
    patients
WHERE
    gender = 'M'
AND
    patient_height > (SELECT avg(patient_height) FROM patients WHERE gender = 'F');