-2
假设我有与它看起来像一列的表:输出元件
SELECT Col1
FROM table;
Col1
A
A
B
B
C
C
D
B
E
B
F
我想是“B” s,这是C,d,E 如何之间,以输出元件我可以用查询做到吗?
假设我有与它看起来像一列的表:输出元件
SELECT Col1
FROM table;
Col1
A
A
B
B
C
C
D
B
E
B
F
我想是“B” s,这是C,d,E 如何之间,以输出元件我可以用查询做到吗?
declare @t table (ID INT IDENTITY(1,1),col1 VARCHAR(10))
insert into @t (col1) values ('A')
insert into @t (col1) values ('A')
insert into @t (col1) values ('B')
insert into @t (col1) values ('B')
insert into @t (col1) values ('C')
insert into @t (col1) values ('C')
insert into @t (col1) values ('B')
insert into @t (col1) values ('E')
insert into @t (col1) values ('B')
insert into @t (col1) values ('F')
select ID,col1 from @t
where ID between (select MIN(id) from @t WHERE col1 = 'B') and
(select MAX(id) from @t WHERE col1 = 'B')
and col1<>'B'
简短的回答,你不能。如果您没有什么可以订购的东西,那么在两行之间就没有“,因为您得到的订单是伪随机的。如果你添加一个ORDER BY到你的查询中,这是可行的。 – 2014-10-22 10:29:16