加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 使用Microsoft Access查询结果中的行号

发布时间:2020-12-12 06:57:50 所属栏目:MsSql教程 来源:网络整理
导读:我总是在sql server中使用此查询来获取表中的行号: SELECT *FROM (SELECT *,Row_number() OVER( ORDER BY [myidentitycolumn]) RowID FROM mytable) subWHERE rowid = 15 现在我在Access 2010中工作,这似乎无法正常工作.在Access中是否有任何替代此查询? 解
我总是在sql server中使用此查询来获取表中的行号:
SELECT *
FROM   (SELECT *,Row_number()
                 OVER(
                   ORDER BY [myidentitycolumn]) RowID
        FROM   mytable) sub
WHERE  rowid = 15

现在我在Access 2010中工作,这似乎无法正常工作.在Access中是否有任何替代此查询?

解决方法

MS-Access不支持ROW_NUMBER().使用TOP 1:
SELECT TOP 1 *
FROM [MyTable]
ORDER BY [MyIdentityCOlumn]

如果你需要第15行 – MS-Access没有简单的内置方法.您可以使用反向嵌套排序来模拟rownumber来获取:

SELECT TOP 1 *
FROM (
  SELECT TOP 15 *
  FROM [MyTable]
  ORDER BY [MyIdentityColumn] ) t
ORDER BY [MyIdentityColumn] DESC

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读