SQL-如何使用max(聚合)提取所有信息
有一张非常简单的桌子:SQL-如何使用max(聚合)提取所有信息,sql,nested,subquery,Sql,Nested,Subquery,有一张非常简单的桌子: NAME1 NAME2 AGE Lars Thomsen 57 Lars Hansen 45 Per Olsen 57 Per Olsen 56 Per Olsen 58 如何编写一个SQL语句来提取每个名字中最年长的名字的所有信息1? 我想要的是这个结果: NAME1 NAME2 AGE Lars Thomsen 57 Per Olsen 58 感谢这个简单的表格(我们称之为t),它
NAME1 NAME2 AGE
Lars Thomsen 57
Lars Hansen 45
Per Olsen 57
Per Olsen 56
Per Olsen 58
如何编写一个SQL语句来提取每个名字中最年长的名字的所有信息1?
我想要的是这个结果:
NAME1 NAME2 AGE
Lars Thomsen 57
Per Olsen 58
感谢这个简单的表格(我们称之为t
),它看起来很简单:
select t.*
from t
join (select name1, max(age) as max_age
from t
group by name1) t_grp
on t.name1 = t_grp.name1
and t.age = t_grp.max_age
如果您使用的是Oracle,它也可能是
select *
from t
where (name1, age) in
(select name1, max(age)
from t
group by name1)
如果有相同年龄的复制品呢?