首页 > 解决方案 > 如何在 MS Access 的单个查询中找到一个字段中的最小值和另一个字段中的关联值?

问题描述

我有一个欧洲国家的数据库。在最右边的字段中,我有所有列出的国家的人口密度。我必须找到最小的人口密度并在一个查询中显示它和它所属的国家。

我最好的尝试:

SELECT Min(europa.Nepsuruseg) AS MinOfNepsuruseg, europa.Orszag
FROM europa
GROUP BY europa.Orszag;

但是,这显示了所有国家及其人口密度。我该怎么做?

示例数据

标签: ms-accessms-office

解决方案


您首先需要使用子查询在所有记录中选择最小人口密度。

然后为了获得记录所持有的所有相关信息或人口密度字段等于最小值的记录,您可以将子查询加入主表,或者将子查询包含在WHERE子句中。

这是一个INNER JOIN在子查询上使用的示例:

select t.* 
from europa t inner join
(
    select min(e.nepsuruseg) as mpd from europa e
) q
on t.nepsuruseg = q.mpd

或者,使用WHERE子句:

select t.* 
from europa t
where t.nepsuruseg = (select min(e.nepsuruseg) from europa e)

推荐阅读