Ms access 如何在具有不同值的表上使用max函数和聚合返回单个记录

Ms access 如何在具有不同值的表上使用max函数和聚合返回单个记录,ms-access,Ms Access,我有一张这样的桌子: 我需要从一个表中返回上面突出显示的带有最近一次就诊日期的行 我尝试在日期使用MAX函数,但问题是,我无法聚合其他列,因为值不相同,这将返回所有三行 如何仅突出显示最新的行?您可以使用DMax获取最新的LastVist日期 DmaxLastVisite,你的桌子 然后,要获取一行或多行具有相同日期,请在查询WHERE条件中使用该DMax表达式 挑选* 从你的桌子上 其中LastVisit=DMaxLastVisit,表示您的表; 另一种方法是使用子查询而不是DMax来获取最新

我有一张这样的桌子:

我需要从一个表中返回上面突出显示的带有最近一次就诊日期的行

我尝试在日期使用MAX函数,但问题是,我无法聚合其他列,因为值不相同,这将返回所有三行

如何仅突出显示最新的行?

您可以使用DMax获取最新的LastVist日期

DmaxLastVisite,你的桌子 然后,要获取一行或多行具有相同日期,请在查询WHERE条件中使用该DMax表达式

挑选* 从你的桌子上 其中LastVisit=DMaxLastVisit,表示您的表; 另一种方法是使用子查询而不是DMax来获取最新日期

挑选* 从你的桌子上 其中LastVisite=从表中选择MaxLastVisite; 您可以使用DMax获取最近的LastVist日期

DmaxLastVisite,你的桌子 然后,要获取一行或多行具有相同日期,请在查询WHERE条件中使用该DMax表达式

挑选* 从你的桌子上 其中LastVisit=DMaxLastVisit,表示您的表; 另一种方法是使用子查询而不是DMax来获取最新日期

挑选* 从你的桌子上 其中LastVisite=从表中选择MaxLastVisite;
谢谢我的朋友:那么如果我需要转换为约会,会发生什么呢?例如,假设日期的格式为:20131127。顺便说一句,这可以根据需要工作,非常感谢。那么你是说你的LastVisite字段的数据类型实际上是文本而不是日期/时间?不,在这个场景中,它是如上所示的日期,我只是在玩代码,看看在不同的情况下我可以使用它的其他方式。好的。如果日期为yyyymmdd格式的文本,Max将返回最后排序的值。。。因此20131127将被视为大于20131126。。。答案中的查询仍应返回所需的行。但是如果这些值是以yyyymd格式存储的,那么任务就更具挑战性了。再次感谢,非常有效。谢谢我的朋友:那么如果我需要转换为日期,会发生什么呢?例如,假设日期的格式为:20131127。顺便说一句,这可以根据需要工作,非常感谢。那么你是说你的LastVisite字段的数据类型实际上是文本而不是日期/时间?不,在这个场景中,它是如上所示的日期,我只是在玩代码,看看在不同的情况下我可以使用它的其他方式。好的。如果日期为yyyymmdd格式的文本,Max将返回最后排序的值。。。因此20131127将被视为大于20131126。。。答案中的查询仍应返回所需的行。但是,如果这些值是以yyyymd格式存储的,那么任务将更具挑战性。再次感谢,非常有效。