请问,如何用一条SQL查询出分页的数据和总记录数啊?MySQL的!不用存储

2025-02-22 21:54:41
推荐回答(2个)
回答1:

的确要查询两次的,因为计算总记录数是使用的聚合函数count(),如果你想一起查询出来,就要使用分组,那样也麻烦,对数据库的操作要使用细粒度的操作,可以使用事务来控制两次查询,用同一个connection,这样可以避免两次查询导致两次不同进程之间的连接操作

回答2:

可以这样用一条sql解决
SELECT 0,'','',COUNT(*) num FROM USER WHERE id >5
UNION
SELECT id,user_name,user_password,0 FROM USER WHERE id >5 LIMIT 2,5;