Mysql 如何知道下一条记录是否存在

Mysql 如何知道下一条记录是否存在,mysql,Mysql,这个问题与页面分页的实现有关 我的应用程序中有一个查询,它加载表的第一条记录 select * from vendor_requested_categories where status = 0 ORDER BY document_id ASC Limit 1 结果是 +-------------+---------+--------+------+------------------+ | document_id | T1 | T2 | T3 | vendor_br

这个问题与页面分页的实现有关

我的应用程序中有一个查询,它加载表的第一条记录

select * from vendor_requested_categories 
where status = 0 ORDER BY document_id ASC Limit 1 
结果是

+-------------+---------+--------+------+------------------+
| document_id |   T1    |   T2   |  T3  | vendor_brand_id  |
+-------------+---------+--------+------+------------------+
|             |         |        |      |                  |
|           1 | Popcorn | Bucket | NULL |             3000 |
+-------------+---------+--------+------+------------------+
我的问题是:


是否可能知道它是否有下一条记录???

对于分页创建,您必须知道给定查询(筛选器)的记录数,以便根据限制计算总页数

因此,在查询获取总记录之前,您可以简单地执行以下操作:

select COUNT(*) AS N from vendor_requested_categories  where status = 0
然后可以从页面参数计算偏移量:

$limit = 10;
$offset = ((int)$_GET['page'] * $limit) - $limit;
这是分页查询

select * from vendor_requested_categories  where status = 0  ORDER BY  document_id ASC  Limit $offset, $limit
当您知道总页数和当前页时,很容易知道是否有下一条记录。

您可以使用count()查找记录总数。应该是这样的:

SELECT document_id, T1, T2, T3, vendor_brand_id, count(*) as total_records
FROM vendor_requested_categories 
WHERE status = 0 ORDER BY document_id ASC LIMIT 1
这样,您就可以一次加载总记录数和第一条记录,而无需对数据库进行两次查询