Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

db2 with 嵌套语法分页报错 #759

Open
P7XXTMX opened this issue Jul 13, 2023 · 1 comment
Open

db2 with 嵌套语法分页报错 #759

P7XXTMX opened this issue Jul 13, 2023 · 1 comment

Comments

@P7XXTMX
Copy link

P7XXTMX commented Jul 13, 2023

使用环境

  • 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 
@abel533
Copy link
Collaborator

abel533 commented Jul 14, 2023

报什么错?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants