diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/constant/SqlConsts.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/constant/SqlConsts.java index 4bcef22d..414b2564 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/constant/SqlConsts.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/constant/SqlConsts.java @@ -90,9 +90,6 @@ public final class SqlConsts { public static final String START_AT = " START AT "; public static final String ROWS_ONLY = " ROWS ONLY"; public static final String ROWS_FETCH_NEXT = " ROWS FETCH NEXT "; - public static final String WHERE_RN = ") WHERE RN >"; - public static final String WHERE_ROWNUM = ") TEMP_DATAS WHERE ROWNUM <="; - public static final String ROWNUM_RN_FROM = "SELECT * FROM (SELECT TEMP_DATAS.*, ROWNUM RN FROM ("; // === 联表查询关键字 === diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcessor.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcessor.java index 35323a6f..c931c01c 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcessor.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/LimitOffsetProcessor.java @@ -129,9 +129,9 @@ public interface LimitOffsetProcessor { if (limitOffset == null) { limitOffset = 0; } - StringBuilder newSql = new StringBuilder(ROWNUM_RN_FROM); + StringBuilder newSql = new StringBuilder("SELECT * FROM (SELECT TEMP_DATAS.*, ROWNUM RN FROM ("); newSql.append(sql); - newSql.append(WHERE_ROWNUM).append(limitOffset + limitRows).append(WHERE_RN).append(limitOffset); + newSql.append(") TEMP_DATAS WHERE ROWNUM <= ").append(limitOffset + limitRows).append(" ) WHERE RN > ").append(limitOffset); return newSql; } return sql;