Access Database LIMIT关键字

时间:2010-12-29 02:44:04

标签: sql ms-access asp-classic

我正在尝试使用Access数据库在ASP中使用我的页面列表功能,但我不知道Microsoft SQL中LIMIT的替代方法。我试过TOP,但这似乎没有用。

以下是我使用MySQL的声明:

SELECT  * FROM customers ORDER BY customerName DESC LIMIT 0, 5

如何将其转换为与Access数据库一起使用?

4 个答案:

答案 0 :(得分:13)

根据ms-access视图:

SELECT TOP(5) * FROM customers ORDER BY customerName; 

将获取错误“SELECT语句包含保留字”,

正确的语法是:

SELECT TOP 5 * FROM customers ORDER BY customerName; 

(注意括号)..

答案 1 :(得分:3)

Top(5)具有欺骗性。在内部,数据库返回所有记录,然后Access只显示前5行。我使用LIMIT关键字而不是Top(n)。

答案 2 :(得分:2)

LIMIT的访问没有直接的等价物,但是TOP语句可以被操作成类似的方式工作,例如“...... LIMIT BY 50,250”等。我通过实验发现,如果你想以250的偏移量获得“下一个50”记录,你可以尝试以下

SELECT * FROM(SELECT TOP 50 tab2。* FROM(SELECT TOP 300 tab1。* FROM my_table AS tab1 ORDER BY column_name ASC)AS tab2 ORDER BY column_name DESC)ORDER BY column_name ASC;

这应该返回第250行到第300行的记录,按升序排列(如果它们存在。),带或不带唯一索引。如果需要,WHERE子句可以进一步整理结果。

有点令人费解,但我希望它有所帮助。

答案 3 :(得分:0)

根据 (dEePaK) 第一个答案:

SELECT TOP 5 * FROM tblPharmacyExtended ORDER BY ActiveStartTime DESC

TOP(5) 不适合我的情况。