如何在 MS Access 的单个查询中找到字段中的最小值和另一个字段中的关联值?
How do I find a minimum value in a field and an associated value in an another field in a single query in MS Access?
我有一个欧洲国家的数据库。在最右边的字段中,我有所有列出的国家/地区的人口密度。我必须找到最小的人口密度并在一个查询中显示它和它所属的国家。
我最好的尝试:
SELECT Min(europa.Nepsuruseg) AS MinOfNepsuruseg, europa.Orszag
FROM europa
GROUP BY europa.Orszag;
然而,这会显示所有国家及其人口密度。我该怎么做才对?
您首先需要使用子查询 select 所有记录的最小人口密度。
那么为了获取人口密度字段等于最小值的记录所持有的所有关联信息,可以将子查询加入主table,或者将子查询包含在子查询中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)
在按 Nepsuruseg 排序后,您需要使用 TOP 函数只获取最小的一个。
SELECT Top 1 europa.Nepsuruseg, europa.Orszag
FROM europa
Order By europa.Nepsuruseg ASC;
我有一个欧洲国家的数据库。在最右边的字段中,我有所有列出的国家/地区的人口密度。我必须找到最小的人口密度并在一个查询中显示它和它所属的国家。
我最好的尝试:
SELECT Min(europa.Nepsuruseg) AS MinOfNepsuruseg, europa.Orszag
FROM europa
GROUP BY europa.Orszag;
然而,这会显示所有国家及其人口密度。我该怎么做才对?
您首先需要使用子查询 select 所有记录的最小人口密度。
那么为了获取人口密度字段等于最小值的记录所持有的所有关联信息,可以将子查询加入主table,或者将子查询包含在子查询中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)
在按 Nepsuruseg 排序后,您需要使用 TOP 函数只获取最小的一个。
SELECT Top 1 europa.Nepsuruseg, europa.Orszag
FROM europa
Order By europa.Nepsuruseg ASC;