sqlserver110,sqlserver 01000

SQLServer写一个分页的存储过程,要求取出101条到110条的内容,请问怎么写?请给出具体的sql语句,谢谢。

转载的,能用!

站在用户的角度思考问题,与客户深入沟通,找到金牛网站设计与金牛网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广、主机域名虚拟主机、企业邮箱。业务覆盖金牛地区。

------------

CREATE PROCEDURE Pagination

@tblName varchar(255), -- 表名

@strGetFields varchar(1000) = '*', -- 需要返回的列

@fldName varchar(255)='', -- 排序的字段名

@PageSize int = 10, -- 页尺寸

@PageIndex int = 1, -- 页码

@doCount bit = 0, -- 返回记录总数, 非 0 值则返回

@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序

@strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)

AS

declare @d datetime

set @d=getdate()

declare @strSQL varchar(5000) -- 主语句

declare @strTmp varchar(110) -- 临时变量

declare @strOrder varchar(400) -- 排序类型

if @doCount != 0

begin

if @strWhere !=''

set @strSQL = 'select count(*) as Total from ['+ @tblName +'] where '+ @strWhere

else

set @strSQL = 'select count(*) as Total from ['+ @tblName +']'

end

--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都

--是@doCount为0的情况

else

begin

if @OrderType != 0

begin

set @strTmp = '(select min'

set @strOrder = ' order by ['+ @fldName +'] desc'

--如果@OrderType不是0,就执行降序,这句很重要!

end

else

begin

set @strTmp = '(select max'

set @strOrder = ' order by ['+ @fldName +'] asc'

end

if @PageIndex = 1

begin

if @strWhere != ''

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['+ @tblName +'] where ' + @strWhere + ' ' + @strOrder

else

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['+ @tblName +'] '+ @strOrder

--如果是第一页就执行以上代码,这样会加快执行速度

end

else

begin

--以下代码赋予了@strSQL以真正执行的SQL代码

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from [' + @tblName +'] where [' + @fldName + ']' + @strTmp + '(['+ @fldName + '])

from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldName + '] from ['+ @tblName +']' + @strOrder + ') as tblTmp)'+ @strOrder

if @strWhere != ''

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['+ @tblName +'] where [' + @fldName + ']' + @strTmp + '(['+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @fldName + ']

from ['+ @tblName +'] where ' + @strWhere + ' ' + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder

end

end

exec ( @strSQL)

select datediff(ms,@d,getdate()) as 查询时间毫秒

go

Pagination 'CopyrightInformation','*','id',120,45667,0,0,''

sqlserverspatial110.dll是个什么东西

楼主你好,你可以重新下载一个msvcp110.dll文件,然后按如下步骤操作:一、解压后直接拷贝该文件到系统目录里:1、Windows95/98/Me系统,复制到C:\Windows\System目录下。2、WindowsNT/2000系统,复制到C:\WINNT\System32目录下。3、WindowsXP/WIN7/Vista系统,复制到C:\Windows\System32目录下。4、如果您的系统是64位的请将文件复制到C:\Windows\SysWOW64目录二、打开"开始-运行-输入regsvr32msvcp110.dll",回车即可解决。已上传并提供下载连接,可根据需要下载。msvcp110.dll下载地址:77225.htm

sqlserver 搜索结果

select schoolname,sum(score1) as score1,sum(score2) as score2 from school

where score1=2300 and score2=110

group by schoolname

order by schoolname

这个是按学校分组,汇总2个数score1,score2

不知道你这里的概率什么意思

关于sqlserver中的时间格式的问题。

把112改成110就可以了.

SELECT rtrim(convert(varchar,getdate()-5,110))

@szm341 把112改成23果然够强大,不愧是知道名人哈


网站栏目:sqlserver110,sqlserver 01000
本文网址:http://hbruida.cn/article/hcedji.html