发布
社区首页 >问答首页 >当名称相等时,从ACCESS查询中排除相同的返回

当名称相等时,从ACCESS查询中排除相同的返回
EN

Stack Overflow用户
提问于 2020-06-25 19:54:17
回答 2查看 29关注 0票数 1

在MS ACCESS中,我有一个表格,其中包含了一个人的年度考试到期时的姓名和日期。此考试有效期为12个月,因此下一次考试通常在所有12个月到期之前完成。表,称为“this”,如下所示(实表名称是唯一的):

代码语言:javascript
代码运行次数:0
复制
ID   Name   Dateexp
1    Peter  30/07/2020
2    john   10/09/2020
3    Bob    11/10/2019
4    Peter  25/06/2021

我有一个问题,显示的人有“有效”的考试。我长得像这样:

代码语言:javascript
代码运行次数:0
复制
SELECT Name As Name, Dateexp As Expiry FROM Overall WHERE Dateexp > now();

它返回:

代码语言:javascript
代码运行次数:0
复制
Name     Expiry
Peter    30/07/2020
John     10/09/2020
Peter    25/06/2021

问题是“彼得”做了一次新的检查,从而把他的有效期从2020年的30/07/2020延长到了25/06/21,我只想看看最近的一次。查询应返回:

代码语言:javascript
代码运行次数:0
复制
Name     Expiry
Peter    25/06/2021
John     10/09/2020

我真的迷路了--有没有人知道如何解决这个问题?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-25 20:01:02

您可以使用max并拥有子句:

代码语言:javascript
代码运行次数:0
复制
Select name, max(dateexp) as dateexp
from overall
Group by name
Having max(dateexp) > now()
票数 2
EN

Stack Overflow用户

发布于 2020-06-25 20:00:44

如果我正确地跟踪了您,您只需使用聚合,并使用having子句进行筛选:

代码语言:javascript
代码运行次数:0
复制
select name, max(dateexp) as expiry 
from overall 
group by name
having max(dateexp) > now();

此筛选器筛选的名称的最近的到期日期是在未来。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62583323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档