我总是在sql server中使用这个查询来获取表中的行号:
SELECT *
FROM (SELECT *,
Row_number()
OVER(
ORDER BY [myidentitycolumn]) RowID
FROM mytable) sub
WHERE rowid = 15
Run Code Online (Sandbox Code Playgroud)
现在我在Access 2010中工作,这似乎无法正常工作.在Access中是否有任何替代此查询?
Bob*_*ort 10
在查询中分配行号的另一种方法是使用该DCount函数.
SELECT *, DCount("[ID]","[mytable]","[ID]<=" & [ID]) AS row_id
FROM [mytable]
WHERE row_id=15
Run Code Online (Sandbox Code Playgroud)
MS-Access不支持ROW_NUMBER().使用TOP 1:
SELECT TOP 1 *
FROM [MyTable]
ORDER BY [MyIdentityCOlumn]
Run Code Online (Sandbox Code Playgroud)
如果你需要第15行 - MS-Access没有简单的内置方法来做到这一点.您可以使用反向嵌套排序来模拟rownumber来获取:
SELECT TOP 1 *
FROM (
SELECT TOP 15 *
FROM [MyTable]
ORDER BY [MyIdentityColumn] ) t
ORDER BY [MyIdentityColumn] DESC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89606 次 |
| 最近记录: |