我目前在我的网站上运行一个查询,该查询查找没有特定属性的所有行。因此,尽管我有行号的序号,但实际结果在主键中会有间隙。原来这很难解释,所以我会尝试添加一些代码!
这是我声明的 WHERE 部分,其余部分不重要:
...WHERE
thought_deleted = 0
AND
thought_ID <= (SELECT MAX(thought_ID) FROM rmt_thoughts ORDER BY thought_ID) - $start
ORDER BY
thought_date_created DESC
LIMIT $number
$number 和 $start 是使用 PHP 传递给查询的值。我要更改的部分是 AND 部分。我不想寻找小于特定 ID 的 thought_ID 值,而是想选择好像每个 thought_deleted = 0 行都有一个顺序 ID。我希望这是有道理的!
我假设我需要要么 a) 创建某种别名来计算行数,然后按该别名排序,要么 b) 只做某种限制事情,它只查看我想要的值。无论哪种方式,我都在谷歌上搜索了一段时间,我已经筋疲力尽,陷入困境。有没有人见过这样的事情?
谢谢大家:)
Spark *
最佳答案
显然你想做某种分页。
只需使用 LIMIT <offset>, <limit>
指定偏移量即可而不仅仅是 LIMIT <limit>
.
例如,要检索行 1..5,您可以使用 LIMIT 0, 5
对于接下来的 5 行,您使用 LIMIT 5, 5
.
在您的情况下,您可能想使用 LIMIT $start, $number
假设 $start 是从零开始的。
关于php - MySQL - 计算查询后的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4190549/