MS Access 2013:在每个国家/地区销售的前10名产品

时间:2020-04-27 19:30:13

标签: ms-access-2013

我需要写一个查询来获取每个国家/地区销售的前10件商品

数据库类型为MS Access 2013

表名称:SoldItems 领域 国家 项目

查询

此查询将使我得到每个国家/地区中所有已售商品的排序,并按每个国家/地区中已售商品的数量降序排列,我只需要每个国家/地区中售出的前10名商品

SELECT count(*)作为CountOfItems已售出,国家/地区,商品 来自SoldItems 按国家/地区分组

按2,1解码排序

1 个答案:

答案 0 :(得分:0)

您将需要使用一个子查询,该查询返回按国家/地区分组的前10个项目,并将其用作过滤器的基础。像这样:

SELECT S.Country, S.Item, COUNT(S.Item) AS CountOfItem
FROM SoldItems AS S
GROUP BY S.Country, S.Item
HAVING S.Item In (SELECT TOP 10 R.Item
    FROM SoldItems AS R
    GROUP BY R.Country, R.Item
    HAVING R.Country=S.Country
    ORDER BY COUNT(R.Item) DESC
)
ORDER BY S.Country, COUNT(S.Item) DESC;

请注意,如果某些商品的售出数量相等,则每个国家/地区将返回10条以上的记录。

此致

相关问题