首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

走过路过帮忙写个SQL查询,该如何处理

2012-03-05 
走过路过帮忙写个SQL查询数据1idis_one1021314050数据2idis_one10213140506171要统计最后1连续出现的次数,

走过路过帮忙写个SQL查询
数据1
idis_one
10
21
31
40
50

数据2
idis_one
10
21
31
40
50
61
71
要统计最后1连续出现的次数,例如上面的数据1结果应该为0,数据2结果应该为2
这个语句应该这么写,不要用临时表或游标,谢谢


[解决办法]

create table Test
(
id int,
is_one int
)

insert Test select 1,0
insert Test select 2,1
insert Test select 3,1
insert Test select 4,0
insert Test select 5,0
insert Test select 6,1
insert Test select 7,1
insert Test select 8,1
insert Test select 9,0

declare @max int
declare @max_1 int
declare @max_0 int
select @max=max(id) from Test
select @max_1=max(id) from Test where is_one=1
select @max_0=max(id) from Test where is_one=0

declare @sum int
set @sum=0

if @max <> @max_1
print @sum
else
begin
set @sum=@max_1-@max_0
print @sum
end

热点排行