MS Access:根据排名选择第一项

时间:2014-04-07 20:34:41

标签: sql ms-access

想象一下,我有一个名为QueryA的查询,它返回如下内容:

Employee    Description   Rank
John        Happy         1
John        Depressed     3
James       Happy         1
James       Confused      2
Mark        Depressed     3

我正在尝试创建一个抓取Employee和Description的查询,但只有一个描述 - 具有最佳“等级”的描述。 (等级越低越好)。我按员工排序QueryA,然后按排名(降序)排序。

所以我希望我的新查询QueryB显示John为Happy,James为Happy,而Mark为Depressed。

但是我尝试选择Employee,然后选择First of Description,它并不总是有效。

1 个答案:

答案 0 :(得分:1)

我无法检查此功能,但它应该可以正常工作。查看我的SQL Fiddle

select
  r.employee, d.description
from
  table1 as d
  inner join (select min(rank) as rank, employee
              from
                 table1
              group by employee) r on d.rank = r.rank
                                      and d.employee = r.employee