首页 > 解决方案 > 如何在sql中显示被group by删除的列

问题描述

请在下面查看我的查询。我如何设置它以返回具有最大年龄的 1 个子对象。如果我按子对象分组,那么它会显示所有子对象

select 
object,
max(Age) as Age,
from table
group by 1,

在此处输入图像描述

在此处输入图像描述

标签: sqlamazon-redshift

解决方案


您可以使用分析函数 ( MAX OVER):

select *
from
(
  select t.*, max(age) over (partition by object) as max_age
  from table t
) with_max_age
where age = max_age
order by object;

推荐阅读