首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取MS Access中查询表达式中的语法错误(缺少操作符)

问获取MS Access中查询表达式中的语法错误(缺少操作符)
EN

Stack Overflow用户
提问于 2019-02-25 03:26:19
回答 2查看 1.6K关注 0票数 0

我收到一条错误消息

查询表达式'r = row_number() over ( ACell order by ACell desc的分区)中的语法错误(缺少运算符)

在Microsoft中,我不知道为什么,但它在中工作。

我的问题是:

代码语言:javascript
复制
select * 
from 
    (select *, r = row_number() over (partition by ACell order by ACell 
    desc) 
    from cellTB) a 
where 
    r <= 5;

有人能帮我吗?

示例数据: cellTB

代码语言:javascript
复制
=================
ACell  |   RNC
=================
1      |   1
-----------------
1      |   2
-----------------
1      |   3
-----------------
1      |   4 
-----------------
1      |   5
-----------------
1      |   6
-----------------
2      |   1
-----------------
2      |   2
-----------------
2      |   3
-----------------
2      |   4
-----------------
2      |   5
-----------------
2      |   6

我只想选择前5从重复的ACell在MC访问。

EN

回答 2

Stack Overflow用户

发布于 2019-02-25 08:04:11

你的代码是。例如,对于Access SQL,您可以使用我的RowNumber函数,就像以前多次发布的那样:

Sequential row numbers

票数 1
EN

Stack Overflow用户

发布于 2019-02-25 12:42:31

MS不支持row_number() (切换到另一个数据库的原因之一)。有一种方法可以使用关联子查询来执行您想做的事情:

代码语言:javascript
复制
select c.* 
from cellTB as c
where (select count(*)
       from cellTb as c2
       where c2.Acell = c.Acell and
             c2.id <= c.id  -- this is the primary key column
      ) <= 5;

这假设您的表有一个主键,在本例中称为id。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54859090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档