簡體   English   中英

在MS Access中的查詢表達式中獲取語法錯誤(缺少運算符)

[英]Getting syntax error (missing operator) in query expression in MS Access

我收到一條錯誤消息

查詢表達式'r = row_number()over(按ACell順序按ACell順序划分)'中的語法錯誤(缺少運算符)

在Microsoft Access中; 我不知道為什么,但是它可以在Microsoft SQL Server中工作。

我的查詢:

select * 
from 
    (select *, r = row_number() over (partition by ACell order by ACell 
    desc) 
    from cellTB) a 
where 
    r <= 5;

有人可以幫我嗎?

示例數據:cellTB

=================
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

我想從MC Access中重復的ACell中僅選擇前5名。

您的代碼是T-SQL 對於Access SQL ,例如,可以使用先前幾次發布的我的RowNumber函數:

順序行號

MS Access不支持row_number() (這只是切換到另一個數據庫的眾多原因之一)。 一種執行所需操作的方法是使用相關子查詢:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM