Sql MS Access选择与ID相关的前2个最新日期
我有一张桌子,上面有很多人的ID 每个ID都有许多日期 范例Sql MS Access选择与ID相关的前2个最新日期,sql,ms-access,Sql,Ms Access,我有一张桌子,上面有很多人的ID 每个ID都有许多日期 范例 ID 1 21/09/2016 1 24/09/2016 3 09/01/2017 3 04/01/2016 3 31/12/2016 13 1/10/2016 13 1/11/2016 4 12/12/2016 我需要编写一个Microsoft Access查询,返回一个表,为每个id选择前2个最新日期。因此,对于上表中的id 3,它将返回2017年1月9日和2017年1月4日,因为这是该id的两个最新日期 有什么想法吗?试试这
ID
1 21/09/2016
1 24/09/2016
3 09/01/2017
3 04/01/2016
3 31/12/2016
13 1/10/2016
13 1/11/2016
4 12/12/2016
我需要编写一个Microsoft Access查询,返回一个表,为每个id选择前2个最新日期。因此,对于上表中的id 3,它将返回2017年1月9日和2017年1月4日,因为这是该id的两个最新日期
有什么想法吗?试试这个:
Select A.ID, A.Date
from (
Select Id, Date ,
Rank() OVER (Partition by Id order by Date Desc) as daterank
from tablename
) A
Where A.daterank < 3
对不起,桌子弄得又乱又滑稽。这是一个两列的表格。第一列ID和第二列日期这是家庭作业问题吗?你试过什么吗?嗨,不,这是一个工作问题-我试过一些东西,但它们不起作用,所以我甚至不包括代码谢谢你-我在分区线上遇到语法错误,我相信这是因为我使用Microsoft access,它不喜欢它?这是用于SQL而不是MS Access的吗?