Mybatis-PageHelper icon indicating copy to clipboard operation
Mybatis-PageHelper copied to clipboard

db2 with 嵌套语法分页报错

Open P7XXTMX opened this issue 2 years ago • 1 comments

使用环境

  • PageHelper 版本: 5.3.2
  • 数据库类型和版本: db2 11

SQL 解析错误

分页参数

PageHelper.startPage(1, 10);
xxMapper.select(model);

原 SQL

WITH cte (id, parent_id, level) AS (
  SELECT id, parent_id, 0
  FROM users
  WHERE parent_id IS NULL  -- 根节点条件

  UNION ALL

  SELECT t.id, t.parent_id, cte.level + 1
  FROM users t, cte
  WHERE cte.id = t.parent_id AND cte.LEVEL<10
)
SELECT id, parent_id, level
FROM cte

以上sql在count() 阶段不会报错,但是分页的时候会报错,希望优化成以下sql

WITH cte (id, parent_id, level) AS (
  SELECT id, parent_id, 0
  FROM users
  WHERE parent_id IS NULL  -- 根节点条件

  UNION ALL

  SELECT t.id, t.parent_id, cte.level + 1
  FROM users t, cte
  WHERE cte.id = t.parent_id AND cte.LEVEL<10
)
SELECT id, parent_id, level
FROM cte

OFFSET 20 ROWS FETCH FIRST 10 ROWS ONLY 

P7XXTMX avatar Jul 13 '23 10:07 P7XXTMX

报什么错?

abel533 avatar Jul 14 '23 01:07 abel533