例如,假设我试图找出每个父母的男性和女性的平均分数。
示例数据如下所示:
parentID childID sex score
------------------------------------
1 21 m 17
1 23 f 12
2 33 f 55
2 55 m 22
3 67 m 26
3 78 f 29
3 93 m 31
这是我想要的结果:
parentID offspring m f avg-m avg-f avg-both
----------------------------------------------------
1 2 1 1 17 12 14.5
2 2 1 1 22 55 38.5
3 3 2 1 28.5 29 28.67
通过以下查询,我可以找到男性和女性的平均值,但我不确定如何获得男性或女性的平均值
SELECT parentID, COUNT( childID ) AS offspring, SUM( IF( sex = 'm', 1, 0 ) ) AS m, SUM( IF( sex = 'f', 1, 0 ) ) AS f, max(score) as avg-both
FROM sexb_1
WHERE avg-both > 11
GROUP BY parentID
我在查询中尝试了类似的方法,但它返回错误
AVG(IF(sex = 'm', max(score),0)) as avg-m