如何在SQL上编写查询以仅检索第二大日期一次?
我有一个带有customerID(比如说custID)和购买日期(比如说date)的表(比如说t1),因此可能会有很多客户在不同的日期进行购买。我只想检索每个客户最后两次购买(两次最大日期)。我最近开始学习SQL,所以如果这个问题很简单,请不要太苛刻。)提前谢谢如何在SQL上编写查询以仅检索第二大日期一次?,sql,Sql,我有一个带有customerID(比如说custID)和购买日期(比如说date)的表(比如说t1),因此可能会有很多客户在不同的日期进行购买。我只想检索每个客户最后两次购买(两次最大日期)。我最近开始学习SQL,所以如果这个问题很简单,请不要太苛刻。)提前谢谢 select CustID , Date , row_number() over(partition by custid order by date desc) from t1 where row_number() over(par
select CustID , Date , row_number() over(partition by custid order by date desc)
from t1
where row_number() over(partition by custid order by date desc) <=2
选择CustID、Date、row_number()(按CustID顺序按日期描述划分)
从t1开始
您使用的数据库引擎是什么?请告诉我们您使用的是哪种数据库管理系统(Oracle?Postgres?),很抱歉,响应太晚。神谕