如何在MS Access的单个查询中在一个字段中找到最小值,在另一个字段中找到关联值?

时间:2018-12-28 14:14:47

标签: ms-access ms-office

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

我的最佳尝试:

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

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

Example Data

2 个答案:

答案 0 :(得分:0)

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

然后,为了获取该记录或总体密度字段等于最小值的记录所拥有的所有关联信息,您可以将子查询联接到主表,或者将子查询包括在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)

答案 1 :(得分:0)

在按Nepsuruseg排序后,您需要使用TOP函数仅捕获最小的函数。

SELECT Top 1 europa.Nepsuruseg, europa.Orszag
FROM europa
Order By europa.Nepsuruseg ASC;