向 Microsoft Access 查询添加行号

问题描述

我有一个 SELECT disTINCT 查询结果,我想为每行添加一个行号。 我尝试过 ROW_NUMBER OVER... 语法,但经过大量研究,我认为 ACCESS 不支持方法

我有一个名为 - SYNC002_ACCESS 的信息表 以及下面的查询

SELECT disTINCT pluquo
FROM SYNC002_ACCESS;

这给了我一个不同值的列表,336 行。我需要的是向该查询添加第二列 每行都有数字:1/2/3/4/5......335/336。

如果有人能够帮助我,我将非常感激,因为我已经为此苦苦挣扎了一段时间。 谢谢

解决方法

一种方法是使用相关子查询:

SELECT s.pluquo,(SELECT COUNT(*) 
               FROM (SELECT DISTINCT pluquo FROM SYNC002_ACCESS) AS t
               WHERE t.pluquo <= s.pluquo
              ) AS row_number
FROM (
  SELECT DISTINCT pluquo
  FROM SYNC002_ACCESS
) AS s

或者使用自连接:

SELECT s1.pluquo,COUNT(*) AS row_number
FROM (SELECT DISTINCT pluquo  FROM SYNC002_ACCESS) AS s1
INNER JOIN (SELECT DISTINCT pluquo  FROM SYNC002_ACCESS) AS s2
ON s2.pluquo  <= s1.pluquo 
GROUP BY s1.pluquo