SQL-选择所有最新的唯一记录
我正在努力创建一个SQL查询来从Access数据库中选择一些记录(使用Excel VBA) 其中一个表(我们称之为“table1”)的切块具有以下列: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 |
| 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的答案解决了。非常感谢!还感谢您设法解释我的模糊问题!