方法1: 适用于 SQL Server 2000/2005 SELECT TOP 页大小 FROM table1 WHERE id NOT IN ( SELECT TOP 页大小(页数-1) id FROM table1 ORDER BY id ) ORDER BY id 方法2: 适用于 SQL Server 2000/2005 SELECT TOP 页大小 FROM table1 WHERE
select top /显示条数/ from table_A where id not in (select top /(页码-1)显示条数/ id from table_A)
1使用T_BASE_PROVINCE表作为测试演示使用
2查询下总共数据量selectcount()fromT_BASE_PROVINCE,在分页的时候,一般会显示总页数,需要先查询总数据量得到总页数,总页数=总量/每页显示记录数。
3前面的测试数据初始化完成之后,查询前20条大概有什么样的数据。
4含orderby排序,多一层嵌套,因为orderby在select之后执行,不在里面写的话可能会出现不是预期的排序结果。
如以上回答未能解决问题请看:
一种是利用相反的。
使用minus,即中文的意思就是减去。
一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过selectrownumfrom[表名],可以看到,是从1到当前的记录总数。
你的页面跳转, 要把原来有的get参数一同传递下去!
因为, 如果你第一页就是根据相关get参数查询的数据库, 而你在下一页没有提供这个参数, 当然会查询不到!
get参数是在当前页面有效的, 一般, get参数是url提供, 你url有就有, 没有就没有, 不是你提供一次, 人家就会给你保存一辈子!
例外, 你这个php文件, 功能其实很简单对吧?但你有没有觉得, 代码密密麻麻呢?
如果让你写一个大型网站, 那你的代码岂不是要用东风牌大卡车来装呢?
<!--列表-->
<%
connopen connsdiv
set rs=serverCreateObject("adodbrecordset")
sql="select from test order by id desc"
rsOpen sql,conn,1,1
page=requestquerystring("page")
if page="" then
page=1
else
page=Cint(page)
end if
Section=requestquerystring("section")
if Section="" then
Section=1
else
Section=Cint(Section)
end if
'变量赋值
intPageSize=5 '每页显示记录数
intSectionSize=5 '多少页为一段,像GOOGLE一样
PrevSectionText="<FONT face=webdings>7</FONT>" '上一段的链接文字
NextSectionText="<FONT face=webdings>8</FONT>" '下一段的链接文字
PrevPageText="<FONT face=webdings>3</FONT>" '上页的链接文字
NextPageText="<FONT face=webdings>4</FONT>" '下页的链接文字
strPageUrl="t=" & strQueryString
rspagesize=intPageSize
intCount=rsRecordCount
intPageCount=rspagecount
intSectionCount=(intPageCount - 1) \ intSectionSize + 1
if intCount>0 then
rsAbsolutePage=page
end if
for i=1 to intPageSize
if rseof then exit for
responseWrite("<a herf="&id&">")
responseWrite("<font>"&rs("aa")&"</font>")
responseWrite("<a>")
rsmovenext
next
%>
<!--列表结束-->
<!--翻页按钮-->
<font>共有<%=intCount%>记录,分<%=intPageCount%>页,当前页<%=Page%>,每页显示<%=intPageSize%>条记录
<%
'计算每一段的开始页
intStarPage=(Section-2) intSectionSize + 1
'前一段
if Section<=1 then
responseWrite(PrevSectionText & " ")
else
responseWrite("<a href='" & strPageUrl & "&page=" & intStarPage & "§ion=" & Section-1 & "'>" & PrevSectionText & "</a> ")
end if
'显示页码列表
responseWrite("第")
intStarPage=(Section-1) intSectionSize + 1
for p=intStarPage to intStarPage + intSectionSize - 1
if p > intPageCount then exit for
if p=page then
responseWrite("<strong>[" & p & "]</strong> ")
else
responseWrite("<a href='" & strPageUrl & "&page=" & p & "§ion=" & Section & "'>[" & p & "]</a> ")
end if
next
responseWrite("页")
'后一段
intStarPage=(Section) intSectionSize + 1
if Section>=intSectionCount then
responseWrite(" " & NextSectionText)
else
responseWrite(" <a href='" & strPageUrl & "&page=" & intStarPage & "§ion=" & Section+1 & "'>" & NextSectionText & "</a> ")
end if
%>
<select name="page" size="1" onChange="windowlocation='<%=strPageUrl & "§ion="%>' + (Mathfloor((parseInt(thisvalue)-1)/<%=intSectionSize%>)+1) + '<%="&page="%>' + thisvalue">
<option value="<%=page%>" selected>第<%=page%>页</option>
<%
for i=1 to rspagecount
%>
<option value="<%=i%>" >第<%=i%>页</option>
<%
next
%>
</select>
</font>
<!--翻页按钮结束-->
以上就是关于数据库查询怎么分页全部的内容,包括:数据库查询怎么分页、数据库怎么进行分页查询、如何实现Oracle数据库的分页显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)