TOP 80 PERCENT?是不是这个意思?SELECT TOP 80 PERCENT * FROM TB
declare @i int select top 1 @i=i.rows*0.8 from sysobjects o,sysindexes i where o.id=i.id and o.Xtype='U' and o.name='表名'set rowcount @i select * from 表名不限制行以后: set rowcount 0
新手解答有部分内容不会 declare @nu int
select @nu=COUNT(*) from tb2 --查询总数量赋值给数量之后你在@nu*8/100 就是准确的Top ,也就是100/80 200/160 ..... 1000/800 select top @nu id from tb2 --这里top@nu 用不上 请高手解答
top 80 percent嘛?如果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)
select top 1 @i=i.rows*0.8
from sysobjects o,sysindexes i
where o.id=i.id and o.Xtype='U' and o.name='表名'set rowcount @i
select * from 表名不限制行以后:
set rowcount 0
declare
@nu int
select @nu=COUNT(*) from tb2 --查询总数量赋值给数量之后你在@nu*8/100 就是准确的Top ,也就是100/80 200/160 ..... 1000/800 select top @nu id from tb2 --这里top@nu 用不上 请高手解答
SET @sql='SELECT TOP '+LTRIM(@cnt)+' * FROM TB'EXEC(@sql)