如何在使用聚合函数和WITHIN子句时过滤嵌套的重复记录?
例如: 我有一个计划,每个记录代表一个人,每个人都有一个嵌套的儿童记录。对于每个孩子,我都有姓名和年龄。
我可以使用COUNT(children.name)WITHIN RECORD轻松统计每个人的孩子,但如果我只计算年龄> 18岁的孩子呢?
答案 0 :(得分:1)
尝试以下几点:
SELECT SUM(cnt) FROM
(SELECT MAX(IF(children.name > 18, 1, 0) WITHIN RECORD AS cnt FROM table1)