2

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

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

如何将其转换为访问 2010?

限制:

LIMIT from_record-1, count_record
4

1 回答 1

3

您不能,因为 Microsoft AccessSELECT语法中不支持偏移量。一个选项是手动TOP使用offset + limit并跳过行。offset顺便说一句:使用TOPLIMIT不使用 anORDER 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。

如果您需要不同顺序的结果,那么您可能需要添加一个应用该顺序的附加“层”。

于 2013-09-25T11:26:49.880 回答