declare @cot int set @cot = select count(*)*2/3 from table set rowcount @cot select * from table set rowcount 0
SET ROWCOUNT 限制适用对 ORDER BY 取值后在结果集中生成行。如果指定了 ORDER BY,SELECT 语句将在从某个已根据指定的 ORDER BY 分类进行了排序的值集中选择 n 行后终止。 TOP n PERCENT子句适用于指定了该子句的单个 SELECT 语句。在执行另一个 SET ROWCOUNT 语句之前,SET ROWCOUNT 会一直有效,例如执行 SET ROWCOUNT 0 将会关闭此选项。
请问top是从上到下,那么从下到上的有没有啊?
倒序排 时的TOP不就是反过来的啊 select top 10 * from table order by col1 ascselect top 10 * from table order by col1 desc
大哥,表是不确定的,使用所有表啊,所以排序的col1也不确定啊
Create Procedure Get67PercentRecordCount(@TableName Varchar(50),@FieldCol Varchar(100)) As Declare @SQL Varchar(1000) Begin Set @SQL='Select TOP 67 Percent * From '+@TableName+' Order By '+@FieldCol Exec(@SQL) End
set @cot = select count(*)*2/3 from table
set rowcount @cot
select * from table
set rowcount 0
TOP n PERCENT子句适用于指定了该子句的单个 SELECT 语句。在执行另一个 SET ROWCOUNT 语句之前,SET ROWCOUNT 会一直有效,例如执行 SET ROWCOUNT 0 将会关闭此选项。
select top 10 * from table order by col1 ascselect top 10 * from table order by col1 desc
As
Declare @SQL Varchar(1000)
Begin
Set @SQL='Select TOP 67 Percent * From '+@TableName+' Order By '+@FieldCol
Exec(@SQL)
End