Sql 如果Netezza在聚合时不支持“第一个”和“最后一个”,如何继续?

Sql 如果Netezza在聚合时不支持“第一个”和“最后一个”,如何继续?,sql,netezza,Sql,Netezza,我想将数据分组到一个名为CustID的列中,并选择他们的第一个或最后一个抵押,即使抵押是在同一天发起的。在Netezza你是怎么做到的?在MS Access中,我通常使用第一个或最后一个聚合函数 数据如下: CustID mortgageID pass_dt 101 090234W 1-23-1989 101 103120X 5-20-2020 101 103121V 5-20-2020 所以这里我想要第二个或第三个记录,但当额外标准通

我想将数据分组到一个名为CustID的列中,并选择他们的第一个或最后一个抵押,即使抵押是在同一天发起的。在Netezza你是怎么做到的?在MS Access中,我通常使用第一个或最后一个聚合函数

数据如下:

CustID  mortgageID  pass_dt

101      090234W    1-23-1989

101      103120X    5-20-2020

101      103121V    5-20-2020
所以这里我想要第二个或第三个记录,但当额外标准通过时,不是两个都要


非常感谢

如果需要整个记录,请使用窗口功能:

select t.*
from (select t.*, row_number() over (partition by custid order by pass_dt desc) as seqnum
      from t
     ) t
where seqnum = 1

如果您解释了您提供的代码是如何回答该问题的,那么这将是一个更好的答案。这实际上也起了作用,因为SQL server仍然可以通过MAX函数从mortgageID列表中仅选择1项。谢谢。谢谢,这让我学到了一些新东西!效果很好。
select CustID, max(mortgageID), max(pass_dt) from t1 group by 1;