[英]MS Access SQL Query - syntax error(missing operator) in query expression
[英]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.