mysql limit 关键字的最大值

标签 mysql max conditional-statements limit

我有一个分页系统,我在 SQL 查询中使用限制来检索每个页面所需的数据,例如:

SELECT foo
FROM table
LIMIT :start, 10

然后,:start 值是动态的,以允许页面导航。
现在,如果该值大于总行数,则查询显然会返回空结果。

我想做的是修复 :start 参数的一种边界,这样它就不会超出总行数,最坏的情况是返回最后十个条目。< br/> 一种

SELECT foo
FROM table
LIMIT (
   CASE WHEN :start > (
      SELECT COUNT(*)
      FROM table
   ) THEN :limit_value
   ELSE
      :start
   END
), 10

最佳答案

由于您正在动态计算 :start 并且愿意有一个子查询,因此将记录数执行预查询到 :cnt 并更改

:start = max(0,min(:start, :cnt-10))

关于mysql limit 关键字的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46544299/

相关文章:

python - 基于动态列表python的for循环

linux - 如何在 shell 脚本中比较两个浮点值

php - Curl 或 Mysql 服务器使用

MySQL 查询返回每个结果的倍数

python - 如何通过使用 lambda 或函数从项目中获取比较值来获取列表中的最小值/最大值?

php - 通过查询获取 MySQL GROUP 中的最后一个

jquery - 是否可以在条件语句中链接 hasClass() 或 is() ?

php - 如何一次替换多个WordPress帖子标题中的特定单词?

php - 显示用户的最后一个数据库条目

mysql - 一个查询中的 MAX() 和 SUM()