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

nhn9ugyo  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(275)

我一直收到这个代码的错误。

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

我想让它显示数据库中每一个体重低于女性平均体重的男性。
帮个忙就好了。

vktxenjb

vktxenjb1#

试试这个,首先计算子查询中女性身高的平均值,然后在where子句中使用它。

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

相关问题