MS Access 2013:每个国家/地区销售的前 10 件商品
MS Access 2013: Top 10 Items sold in each country
我需要编写一个查询来获取在每个国家/地区销售的前 10 件商品
数据库类型为 MS Access 2013
Table 名称:已售商品
字段
国家
项目
查询
此查询将使我在每个国家/地区销售的所有商品按每个国家/地区的销售商品数量降序排列,我只需要在每个国家/地区销售的前 10 件商品
SELECT count(*) 作为 CountOfItemsSold、国家、项目
来自 SoldItems
按国家、项目分组
按 2,1 desc 排序
您将需要使用子查询 returns 按国家/地区分组的前 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 条以上的记录。
此致,
我需要编写一个查询来获取在每个国家/地区销售的前 10 件商品
数据库类型为 MS Access 2013
Table 名称:已售商品 字段 国家 项目
查询
此查询将使我在每个国家/地区销售的所有商品按每个国家/地区的销售商品数量降序排列,我只需要在每个国家/地区销售的前 10 件商品
SELECT count(*) 作为 CountOfItemsSold、国家、项目 来自 SoldItems 按国家、项目分组
按 2,1 desc 排序
您将需要使用子查询 returns 按国家/地区分组的前 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 条以上的记录。
此致,