sql - 如何在 Access 中的查询中使用 LIMIT,但不使用 TOP

标签 sql ms-access

我想显示查询中的 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

最佳答案

不能,因为 Microsoft Access SELECT syntax 不支持偏移量。 。一种选择是将 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。

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

关于sql - 如何在 Access 中的查询中使用 LIMIT,但不使用 TOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003553/

相关文章:

c# - 从 asp.net 前端添加 sql 记录的最佳实践?

c# - 如何以编程方式在 C# 中创建 Microsoft Access 数据库?

c# - 如何在 .Net 上创建 Access 数据库备份?

ms-access - 为 Microsoft Access 表字段分配默认值?

sql - Spark Dataframe 嵌套 Case When 语句

sql - 如何在 SQL Server 中动态比较源表和目标表中的行

javascript - 使用 jquery 创建评论框并在 Coldfusion 中工作

sql - Microsoft Access 中的 SELECT DISTINCT count()

MySql 使用其父 ID 更新同一表中的数据行

java - Android JSON解析问题: seems to separate it into 2 separate objects and only recognizes one