没有ID列的SQL Access计数重复

时间:2016-05-30 10:42:34

标签: sql ms-access

我尝试创建一个查询,创建一个每次列中的值多次出现时都会增加的列。

所以我有:

Col1中

99999999
99999999
88888888
88888888
88888888
77777777

想得到结果:

  Col1      Col2
99999999      1
99999999      2
88888888      1
88888888      2
88888888      3
77777777      1

我有这个SQL,当我有一个ID字段时可以这样做:

SELECT
    m.PN,
    m.CLASS,
    m.ZAHL,
    Count(M2.id) AS IncByPN
FROM Table1 AS m
    INNER JOIN Table1 AS m2 ON m2.PN = m.PN AND m2.ID <= m.ID
WHERE m.CLASS
GROUP BY m.ID, m.CLASS, m.PN, m.ZAHL
ORDER BY m.ID

现在我有一张表中没有ID列。我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用相关查询而不是联接:

SELECT
    m.PN,
    m.CLASS,
    m.ZAHL,
    (SELECT Count(M2.id) + 1 AS IncByPN FROM Table1 m2
     WHERE m.PN = m2.PN AND m2.ID <= m.ID)
FROM Table1 m
ORDER BY m.ID

答案 1 :(得分:0)

  

..创建一个查询,创建一个每次都增加一个值的列   在专栏中不止一次。

您无法使用查询,因为记录没有订单。表格不是电子表格。

但是在VBA中,您可以使用订单打开记录集。这将&#34;修复&#34;本次会议的记录。然后遍历记录并为每条记录分配计数。