[按组访问,按COUNT选择前10条记录

问题描述 投票:0回答:1

我在Office Access 365的MS Access中遇到此查询时遇到问题。对于每个分组,我尝试按ItemCount选择前10行。因此,每个GroupID将显示前10个ItemName计数。我知道以下错误,因为它只会查询十条记录。我不确定从这里去哪里。我尝试了一个对项目进行排序的子查询,然后尝试提取前10个项目,但显然我做错了。

Select Top 10 GroupID, ItemName, COUNT(ItemName) as ItemCount
FROM Table
GROUP BY GROUPID, ItemName
Order By COUNT(ItemName) DESC;

感谢任何建议

谢谢!

sql count grouping access
1个回答
0
投票

您能否在下面尝试,请在子查询中使用TOP关键字。

Select GroupID, ItemName, COUNT(ItemName) as ItemCount
FROM Table t1
WHERE ItemName in (
                    Select TOP 10 ItemName
                    from Table t2
                    where t2.GroupID = t1.GroupID
                    order by count(t2.ItemName) desc, t2.ItemName
                  )
GROUP BY GROUPID, ItemName
Order By GROUPID, COUNT(ItemName) DESC;
© www.soinside.com 2019 - 2024. All rights reserved.