日期:2014-05-17  浏览次数:20578 次

查询前多少条记录的问题(比如80的倍数条记录)
假设库内有100条记录就查询前80条,200条的话就查询160条

------解决方案--------------------
定义一个变量@i,然后把select top(@i) * from table放到动态sql中执行
------解决方案--------------------
哦 是80的整数倍 那就定义变量吧。
------解决方案--------------------
DECLARE @cnt INT,@sql NVARCHAR(MAX)

SELECT @cnt=COUNT(1)/80*80 FROM TB        --确定结果条数(如果总条数少于80条,返回0条数据)
SET @sql='SELECT TOP '+LTRIM(@cnt)+' *  FROM TB'

EXEC(@sql)