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
这样,您就可以一次加载总记录数和第一条记录,而无需对数据库进行两次查询