select number from (select number,row=row_number()over(order by getdate()) from master..spt_values where type='p' and number between 1 and 10)t where row%3=1
select * from 表名 where 列名+1%2=0 --隔一行取一个 select * from 表名 where 列名+2%3=0 --隔两行取一个
假如数据库名为:xuexi 表名为:CS 列名为:sz 那么SQL语句如下(加入到你的存储过程程序段里就可以了): use xuexi declare @i int declare mycursor scroll cursor for select * from cs for update of sz open mycursor select @i=count(*) from cs fetch next from mycursor while @@fetch_status=0 and @i>1 begin fetch RELATIVE 2 from mycursor --这里的RELATIVE 2 你指定2就表示隔行,你指定3就表示隔2行行 set @i=@i-1 end close mycursor deallocate mycursor
我只是举个例子,隔2条取一条主要是row%3=1
少俩括号... select * from 表名 where (列名+1)%2=0 --隔一行取一个 select * from 表名 where (列名+2)%3=0 --隔两行取一个
select * from 表名 where 列名+2%3=0 --隔两行取一个
表名为:CS
列名为:sz
那么SQL语句如下(加入到你的存储过程程序段里就可以了):
use xuexi
declare @i int
declare mycursor scroll cursor for select * from cs for update of sz
open mycursor
select @i=count(*) from cs fetch next from mycursor
while @@fetch_status=0 and @i>1
begin
fetch RELATIVE 2 from mycursor --这里的RELATIVE 2 你指定2就表示隔行,你指定3就表示隔2行行
set @i=@i-1
end
close mycursor
deallocate mycursor
少俩括号...
select * from 表名 where (列名+1)%2=0 --隔一行取一个
select * from 表名 where (列名+2)%3=0 --隔两行取一个
嗯,用RELATIVE提醒到我了