SQL-选择所有最新的唯一记录

SQL-选择所有最新的唯一记录,sql,ms-access,excel,vba,Sql,Ms Access,Excel,Vba,我正在努力创建一个SQL查询来从Access数据库中选择一些记录(使用Excel VBA) 其中一个表(我们称之为“table1”)的切块具有以下列: | my_id | your_id | phase | | 1 | 1 | Open | | 2 | 1 | Close | | 3 | 2 | Open | | 4 | 3 | Close | | 5 | 2 | Close |

我正在努力创建一个SQL查询来从Access数据库中选择一些记录(使用Excel VBA)

其中一个表(我们称之为“table1”)的切块具有以下列:

| my_id | your_id | phase |

| 1     | 1       | Open  |

| 2     | 1       | Close |

| 3     | 2       | Open  |

| 4     | 3       | Close |

| 5     | 2       | Close |

| 6     | 3       | Open  |
“我的id”字段将始终是唯一的值,而“你的id”字段可能包含重复项

我想做的是从表中选择所有内容,以获取“your_id”的最新记录,其中阶段为“Close”。这意味着在上面的示例表中,它将选择5、4和2

希望这是有意义的,如果没有,对不起-我正在努力阐明我的意思


谢谢

尽管从您的示例中,如果您只需将where conditin添加为phase='Close',您将获得5、4和2的记录。但我假设可能存在这样的情况(不在我们的示例中),即对于任何给定的\u id,超过1条记录的状态都是接近的,所以查询应该如下所示

 Select * from table1 where my_id in (
   Select Max(My_Id) from table1 where phase='Close' group by your_id)

你能解释一下给定表格中的
最新记录吗,我的意思是除了阶段“关闭”之外,要排除哪些记录谢谢你的评论-现在用下面Nitin的答案解决了。非常感谢!还感谢您设法解释我的模糊问题!