Sql 数据库分页

 时间:2024-09-22 20:20:50

前台缓存分页,如果数据很多的话会变得很慢,而且不方便,所以就在这里把数据库的分页进行集合。

工具/原料

sqlserver2008

分页第一种

1、首先建一张测试表createdatabaseTestgouseTestgocreateTableUserInfo(useridintidentity(1,1)primarykey,usernamenvarchar(10)notnull)

Sql 数据库分页

2、接着往数据库里添加测试数据insertin隋茚粟胫toUserInfovalues('a11')insertintoU霜杼厮贿serInfovalues('a12')insertintoUserInfovalues('a13')insertintoUserInfovalues('a14')insertintoUserInfovalues('a15')insertintoUserInfovalues('a16')insertintoUserInfovalues('a17')select*fromUserInfo

Sql 数据库分页

3、--查询第三页的数据--数据库模拟前台传过来的参数declare@pagesizeint--定义显示条数declare@currentPageint--定义当前页set@pagesize=3set@currentPage=3--分页查询语句selecttop(@pagesize)*fromUserinfowhereuseridnotin(selecttop(@pagesize*(@currentPage-1))useridfromUserInfo)

Sql 数据库分页

Sql 数据库分页

4、--第一页:因为不需要对数据过滤,--所以只取PagSize数量的记录--第二页:步骤:--1.取前两页的数据selcttop@pagesize*@currentPage--2.过滤掉第一页的数据@pagesize*(@currentPage-1)

分页第二种

1、--第二种方法:如果ID是连续,完全不用top--直接用id就可以--建表格数据从UserInfo拿过来createtable#tempUserInfo(idintidentity(1,1)primarykey,useridintnotnull,usernamenvarchar(10)notnull)--插入数据insertinto#tempUserInfoselect*fromUserInfo

Sql 数据库分页

2、分页--查询第二页的数据--数据库模拟前台传过来的参数declare@pagesizeint--定义显示条数declare@currentPageint--定义当前页set@pagesize=3set@currentPage=2--查询语句select*from#tempUserInfowhereidbetween(@currentPage-1)*@pagesize+1and@pagesize*@currentPage

Sql 数据库分页

分页第三种

1、--第三种--rownumber()函数是sqlserver2005才有declare@圬桦孰礅pagesizeintdeclare惺绅寨瞀@currentPageintset@pagesize=3set@currentPage=3--查询语句select*from(selectROW_NUMBER()over(orderbyuserid)asHangHao,*fromUserInfo)pageduserinfowhereHangHaobetween(@currentPage-1)*@pagesize+1and@pagesize*@currentPage

Sql 数据库分页

2、--效率问题:第一张绝对比第三种低。--理论上第二种效率最高,但不推荐用,--要实现的话,一般是用存储过程个人推荐第三种

望远镜观鸟小知识 jquery怎么显示div内的内容 如何处理好青春叛逆期与父母的关系 园艺知识手抄报 荒野行动无声音怎么解决
热门搜索
齐肩短发发型图片 桥的图片 裴秀智图片 邓丽君图片 环太平洋漫画