Mysql 如何按组选择最大值和最大值计数

Mysql 如何按组选择最大值和最大值计数,mysql,Mysql,我有一个表,其中我必须按姓名和性别计算(计算最大值)组的最大值和计数 sample input: name sex age A F 2 A F 3 A M 4 B F 6 B M 7 B M 7 B F 4 C M 8 C M 8 C M 8 C M 3 C F 1 C F 10 C F 10

我有一个表,其中我必须按姓名和性别计算(计算最大值)组的最大值和计数

sample input:  

name sex age  
 A    F  2  
 A    F  3  
 A    M  4  
 B    F  6  
 B    M  7  
 B    M  7  
 B    F  4  
 C    M  8  
 C    M  8  
 C    M  8  
 C    M  3  
 C    F  1  
 C    F 10  
 C    F 10  

Sample Output:  
name    sex max_age count_max_age
A        F        3          1
A        M        4          1
B        F        6          1
B        M        7          2
C        F       10          2
C        M        8          3
我试过了

select name,sex,max(age) as max_age , count(max_age) from table_1 group by name ,sex  
我犯了一个错误

Unknown column max_age in fieldlist
请建议上述查询中需要的任何修改。
提前谢谢

SELECT count(max_age), name, sex FROM (
  SELECT name, sex, max(age) as max_age from table_1 group by name, sex
) as max_age_group group by name, sex

查询将无法理解同一级别上的别名,但是您可以将其作为子查询。

使用子查询并按如下方式连接

select 
    t1.name, t1.sex, max_age, count(max_age) as countofmaxage 
from 
    (select name, sex, max(age) as max_age 
     from t 
     group by name, sex) t1 
join 
    t on t1.name = t.name and t1.sex = t.sex and t1.max_age = t.age
group by 
    t1.name, t1.sex, max_age
输出:

name    sex max_age countofmaxage
----------------------------------
A        F     3            1
A        M     4            1
B        F     6            1
B        M     7            2
C        F     10           2
C        M     8            3

在您的问题中添加表结构帮助我们帮助您-请共享表的结构、一些示例数据以及您试图获得的结果。我觉得您的查询很好。您应该添加一些输入和输出数据。实际上,我怀疑上面的查询是什么导致了这个错误。请看:我已经共享了示例输入和输出表的