MS Access查询计数和显示

时间:2015-05-12 17:49:30

标签: sql ms-access

我在这些城市有一张包含城市和出版商的表格。

如何创建一个查询,计算在哪个城市中有多少发布商,然后还会针对发布商数量最多的城市显示这些发布商的名称。

1 个答案:

答案 0 :(得分:1)

看看这是否适合你。

SELECT Sub2.City, 
       Table1.Publisher
FROM (
         SELECT TOP 1 Sub.City, Sub.CountOfPublisher AS MaxOfCountOfPublisher
             FROM (SELECT Table1.City,
                          Count(Table1.Publisher) AS CountOfPublisher
                   FROM Table1
                   GROUP BY Table1.City
                   )  AS Sub
ORDER BY Sub.CountOfPublisher DESC
) AS Sub2
INNER JOIN Table1
ON Sub2.City = Table1.City
  

注意:将Table1替换为您的表名。

说明

因此,我们需要汇总我们的汇总,以便Access可以使用我们在Count中提供的信息。

从内到外:

每个Count我们需要Publisher City个,我们希望每个Group By City。这为我们提供了一些我们可以根据City使用的数字。

enter image description here

下一篇文章,我们要从这些结果中选择TOP 1记录,按Count Publishers的{​​{1}}排序(降序 - 从最高到最低)。因此,按降序计数排序会使第一条记录为DESC,其中City计数最高。然后我们在最后一步中使用它。

enter image description here

最后,我们希望发布商数最多的PublishersCityPublishers。好吧,到目前为止,我们的城市City最多,但我们没有Publishers的列表。要获得这些,我们需要在Publishers上加入我们原来的表格。

这基本上说,我有City 最多 City,现在给我表格中Publishers相等的所有记录到我们在查询中提供的CityCity)。

enter image description here