Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL上编写查询以仅检索第二大日期一次?_Sql - Fatal编程技术网

如何在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

我有一个带有customerID(比如说custID)和购买日期(比如说date)的表(比如说t1),因此可能会有很多客户在不同的日期进行购买。我只想检索每个客户最后两次购买(两次最大日期)。我最近开始学习SQL,所以如果这个问题很简单,请不要太苛刻。)提前谢谢

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?),很抱歉,响应太晚。神谕