在字符串字段的Access查询中创建rownumber字段

时间:2015-12-08 08:51:47

标签: sql ms-access

我正在尝试在Access(2003)查询中创建一个rownumber字段。我看到了几个使用DCount()函数的例子,但不清楚它如何在根据字符串字段排序的表上起作用。

你能帮忙找到找到正确的语法吗?这是我想要实现的一个例子。

表'测试':

ID     Name
------------
1      aa bb
2      aa aa
3      bb bb
4      bb aa

我想获得这张表:

ID     Name     RowNum
-----------------------
2      aa aa    1
1      aa bb    2
4      bb aa    3
3      bb bb    4

我发现这个查询可以帮助我获得我想要的东西:

SELECT test.ID, test.Name, DCount('test.Name','test','test.Name <=' & 'test.Name') AS RowNum
FROM test
ORDER BY test.Name;

但是,我只能得到这个结果:

ID     Name     RowNum
-----------------------
2      aa aa    4
1      aa bb    4
4      bb aa    4
3      bb bb    4

你能帮我解决这个问题吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

由于test.name是一个字符串,您必须正确引用它:

SELECT
  test.ID,
  test.Name,
  DCount('test.Name','test','test.Name <= ''' & test.Name & '''') AS RowNum
FROM
  test
ORDER BY
  test.Name;

或如果test.name列可以包含引号,则使用此选项:

DCount('test.Name','test','test.Name <= ''' & replace(test.Name, '''', '''''') & '''')