admin

如何在访问查询中使用LIMIT,但不使用TOP

sql

我想显示查询中的15行,但不显示前15行?

SELECT Abg盲nge.Vorgang, Abg盲nge.Date_SW_Drucken FROM Abg盲nge 
WHERE Abg盲nge.Bezahlung = "Bar" LIMIT 34,15;

如何将其转换为Access 2010?

限制:

LIMIT from_record-1, count_record

阅读 157

收藏
2021-06-07

共1个答案

admin

您不能这样做,因为Microsoft AccessSELECT语法中不支持偏移量。一种选择是使用TOPoffset + limit和跳过offset手动行。顺便说一句:不建议使用TOPLIMIT不使用,ORDER BY因为它可能导致结果不一致。

您还可以将结合使用两个查询TOP,首先选择limit + offset,然后仅选择offset,例如

SELECT TOP 15 ...
FROM (
   SELECT TOP 49 ....
   FROM sometable
   ORDER BY somecolumn ASC
) a
ORDER BY somecolumn DESC

此解决方案的唯一问题是,如果子查询的结果少于49,则偏移量将小于34。

如果您需要按不同顺序排列结果,则可能需要添加一个应用该顺序的附加“图层”。

2021-06-07