从表中提取n行

时间:2013-11-24 14:48:05

标签: sql database ms-access

我想从表格销售中获取第一个n记录和特定字段的数量。

我的销售表是:

enter image description here

我使用查询来提取材料及其计数:

Select top 5 material ,count(*) from sale group by material;

它以下列形式提供输出:

enter image description here

但我希望以下列形式输出:

enter image description here

我该怎么办?

2 个答案:

答案 0 :(得分:2)

首先检索您想要的5行。

SELECT TOP 5 material FROM sale ORDER BY saleinvno;

然后根据这5行进行计数。

SELECT sub.material, Count(*)
FROM
    (
        SELECT TOP 5 material FROM sale ORDER BY saleinvno
    ) AS sub
GROUP BY sub.material;

注意SELECT TOP没有ORDER BY是不可靠的。我猜测saleinvno是为了订购。如果我猜错了,请使用不同的字段进行排序。

答案 1 :(得分:1)

我认为你得到的是你只想要在前5行操作?

select material, count(*)
from
(
  Select top 5 material from sale 
) a
group by material

我没有访问权限,所以我无法检查确切的语法,但它应该或多或少!