gpt4 book ai didi

mysql - 使用 LIMIT 对 MySQL 查询中的结果进行分页

转载 作者:可可西里 更新时间:2023-11-01 06:38:53 26 4
gpt4 key购买 nike

我想一次获取一个“页面”的结果;我希望页码成为一个参数(在 JDBC 准备语句中)。考虑以下片段

SELECT * FROM thread t ORDER BY t.id LIMIT ((? - 1) * 20), 20

理想情况下,对于第 1 页,这将导致 LIMIT 0, 20

当我测试

SELECT * FROM thread t ORDER BY t.id LIMIT ((1 - 1) * 20), 20

我被告知我有一个语法错误。不过,我不明白它可能是什么——这只是一些简单的数学运算。它告诉我的只是

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '((1 - 1) * 20), 20' at line 1

我的 LIMIT 子句有什么问题,我该如何解决?

最佳答案

这是不可能的。

请看这里的解决方案: MySQL Math and COUNT(*) in LIMIT

我建议使用 javascript 或其他东西来处理第一个参数(即偏移量),例如:第一页上的 limit 0,20 和第二页上的 limit 21,20...

例如,如果您的第一个页面在 url www.example.com?page=1 中有一个 get 变量

offset = (page - 1)*20 ;
row_count = 20;
select * from table limit (offset, row_count);

关于mysql - 使用 LIMIT 对 MySQL 查询中的结果进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11728704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com