Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何在同样由另一个字段首先排序的查询中获得最佳10(前10)?_Ms Access_Select - Fatal编程技术网

Ms access 如何在同样由另一个字段首先排序的查询中获得最佳10(前10)?

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

例如,我只想按卖家列出前10名客户。所以它看起来是这样的(没有前10名):

但这会给我所有的价值。我只希望每个卖家有前10个客户

这在ms access 2003中是否可能?如果是,请给我一个提示, 谢谢;)

在以下行中:

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