Ms access 如何在同样由另一个字段首先排序的查询中获得最佳10(前10)?
例如,我只想按卖家列出前10名客户。所以它看起来是这样的(没有前10名): 但这会给我所有的价值。我只希望每个卖家有前10个客户 这在ms access 2003中是否可能?如果是,请给我一个提示, 谢谢;) 在以下行中:Ms access 如何在同样由另一个字段首先排序的查询中获得最佳10(前10)?,ms-access,select,Ms Access,Select,例如,我只想按卖家列出前10名客户。所以它看起来是这样的(没有前10名): 但这会给我所有的价值。我只希望每个卖家有前10个客户 这在ms access 2003中是否可能?如果是,请给我一个提示, 谢谢;) 在以下行中: SELECT seller, customer, sells FROM table a WHERE customerid IN (SELECT TOP 10 customerid FROM ta
SELECT seller,
customer,
sells
FROM table a
WHERE customerid IN (SELECT TOP 10 customerid
FROM table b
WHERE b.sellerid = a.sellerid
ORDER BY sells DESC)
ORDER BY seller ASC,
sells DESC
请注意,MS Access返回匹配项,因此您可能会得到10次以上的返回。如果需要精确的10,您可以通过唯一ID订购,也可以销售。我将测试并提供一些反馈。看起来不错,但在我的上下文中,查询非常复杂。我将尝试实现它,但这需要时间,如果您提供更简单的解决方案,请说;)没有更简单的解决方案可以获得每组前n名。
SELECT seller,
customer,
sells
FROM table a
WHERE customerid IN (SELECT TOP 10 customerid
FROM table b
WHERE b.sellerid = a.sellerid
ORDER BY sells DESC)
ORDER BY seller ASC,
sells DESC