SQL Server在分页如何实现获取数据的同时获取到总记录数

这篇文章将为大家详细讲解有关sql Server在分页如何实现获取数据的同时获取到总记录数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

sql Server 获取数据的总记录数,有两种方式:

1.先分页获取数据,然后再查询一遍数据库获取到总数量

2.使用count(1) over()获取总记录数量

SELECT
  *
FROM
  (
  SELECT
    ROW_NUMBER() OVER(ORDER BY Id DESC) rn,  
    COUNT(1) OVER() AS TotalCount,
    Id
  FROM
    dbo.T_User
  )a
WHERE
  a.rn BETWEEN 1 AND 5

第二种方式既分页还能获取到总记录数量。就是多一个字段,如果获取次数据较多的话,会浪费一些流量。

如果使用第一种的话,会多访问一次数据库增加次数据连接的关闭和打开,会消耗数据库资源。

第二种方式还是我同事开始使用的,然后我们就这样使用了。

注意:目前发现只有sqlserver有,mysql没有这个效果,大家如果发现其他的可以使用

关于“sql Server在分页如何实现获取数据的同时获取到总记录数”这篇文章分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

相关文章

这篇文章主要介绍“hive和mysql的区别是什么”,在日常操作中...
这篇“MySQL数据库如何改名”文章的知识点大部分人都不太理解...
这篇文章主要介绍“mysql版本查询命令是什么”的相关知识,小...
本篇内容介绍了“mysql怎么修改字段的内容”的有关知识,在实...
这篇文章主要讲解了“mysql怎么删除unique约束”,文中的讲解...
今天小编给大家分享一下mysql怎么查询不为空的字段的相关知识...