admin

如何在MS ACCESS中使用类似Oracle Rownum的功能

sql

我遇到一个问题,我做了一个功能,可以通过检测滚动位置来加载数据,该功能是使用SQL语句“
Rownum”完成的,它仅在Oracle中可用,而在ACCESS中不可用。

我想查询数据并重新使用它

ID  value
1   aa
3   bb

使用Rownum,我们可以做到这一点

NID ID value
1   1  aa
2   3  bb

如何使用Microsoft ACCESS编写SQL语句


阅读 144

收藏
2021-06-07

共1个答案

admin

Access不支持该功能。如果您的ID字段是数字主键,则可以包含一个字段表达式,该表达式是ID对当前ID值使用<=的行数的计数。

SELECT
    DCount('*', 'YourTable', 'ID <= ' & y.ID) AS NID,
    y.ID,
    y.value
FROM YourTable AS y;

您可以使用相关子查询,而不是根据DCount需要。

并且ID实际上不必一定是主键。如果具有唯一约束,则仍然适合此目的。

目标字段并不一定要是数字,但是文本数据类型可能更具挑战性。

2021-06-07