大家好,在分页的时候这样写:
select CustomerID,CustomerName from (select CustomerID,CustomerName,row_number() over (order by CustomerID desc) as num from tbl_bus_customer)a where num>@startindex and num<@endindex
startindex 和 endindex 是:取从startindex 到endindex的数据。
不明白之处:在子查询里 select CustomerID,CustomerName,row_number() over (order by CustomerID desc) as num from tbl_bus_customer 会把外面的条件加进去吗,如果不加进去,那在子查询里还不是要全表查询,大数据量时有效果吗?
select CustomerID,CustomerName from (select CustomerID,CustomerName,row_number() over (order by CustomerID desc) as num from tbl_bus_customer)a where num>@startindex and num<@endindex
startindex 和 endindex 是:取从startindex 到endindex的数据。
不明白之处:在子查询里 select CustomerID,CustomerName,row_number() over (order by CustomerID desc) as num from tbl_bus_customer 会把外面的条件加进去吗,如果不加进去,那在子查询里还不是要全表查询,大数据量时有效果吗?
解决方案 »
- aspx页面使用CS的函数问题
- 谁能和我共享asp.net 电子商务网站开发实例的点子上,发到把链接发到我邮箱里也可以。满分!
- ASP.NET中想用类拟于Outlook的控件
- ajax javascript 调用后台一个数组函数 ,数组函数要带个参数,大虾来帮忙看下?
- 紧急求助:我想在网页上显示数据库中存储的word文档,能不能不出现打开还是下载的提示框??
- 关于文件下载问题。。在线等。。。急。。。
- 如下提示如何修改!!--------在线等!~~~
- OleDbDataAdapter da_persons=new OleDbDataAdapter("select 部门,姓名,用户名 from user",this.conn)出错
- 我的数据库连接怎么了?急!
- 菜鸟求教:ASP.NET网站如何做文件上传?为什么书里没有啊
- gridview1嵌套gridview3中怎么取得gridview2
- access SQL写法
SELECT TOP(分页大小) *
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY 排序条件) AS RowNo FROM 数据表
) AS T
WHERE RowNo > ((目前页数 - 1) * 分页大小)
ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goCREATE PROCEDURE [dbo].[ShowPage]
@tblName varchar(255),
@strGetFields varchar(1000) = '*',
@strOrder varchar(255)='',
@PageSize int = 10,
@PageIndex int = 1,
@strWhere varchar(1500) = ''
AS
declare @strSQL varchar(5000)
if @strWhere !=''
set @strWhere=' where '+@strWhere
set @strSQL='SELECT * FROM (SELECT ROW_NUMBER() OVER ('+@strOrder+') AS pos,'+@strGetFields+' FROM ['+@tblName+']'+@strWhere+') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)exec (@strSQL)