MySQL - 查询后计算行数

时间:2010-11-16 01:57:11

标签: php mysql select

我目前在我的网站上运行查询,查找没有特定属性的所有行。因此,虽然我有行号的序号,但实际结果将在主键中有间隙。事实证明这很难解释,所以我会尝试添加一些代码!

这是我的陈述中的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部分。我想要选择好像每个thought_deleted = 0行都有一个顺序ID,而不是查找小于特定ID的thought_ID值。我希望这是有道理的!

我假设我需要a)制作某种别名来计算行数,并按那样排序或b)只是做某种限制,只看我想要的值。无论哪种方式,我已经谷歌搜索了一段时间我很累,卡住了。有没有人见过这样的事情?

谢谢你们:)

闪耀*

1 个答案:

答案 0 :(得分:2)

显然你想做某种分页。 只需使用LIMIT <offset>, <limit>而不是LIMIT <limit>指定偏移量。

例如,要检索行1..5,请使用LIMIT 0, 5,对于接下来的5行,请使用LIMIT 5, 5

在您的情况下,您可能希望使用LIMIT $start, $number,假设$ start从零开始。