Sql server 2008 如何在SELECT查询中获取X数据

Sql server 2008 如何在SELECT查询中获取X数据,sql-server-2008,select,Sql Server 2008,Select,例如:如果我有一个表,其中包含: PRICES 1 5 3 8 2 8 如果我想要第二个元素,我怎么能得到它?只有那个号码。。可能吗 $third_element = mysql_result(mysql_query("SELECT prices FROM the_table WHERE prices = '3'"), 0); 这就选择了元素,但我不知道你为什么要这样做,除非你有另一行可以从中选择,其中其他行='something',那么你会得到3 这会选择元素,但我不知道你为什么要这样做,

例如:如果我有一个表,其中包含:

PRICES
1
5
3
8
2
8
如果我想要第二个元素,我怎么能得到它?只有那个号码。。可能吗

$third_element = mysql_result(mysql_query("SELECT prices FROM the_table WHERE prices = '3'"), 0);
这就选择了元素,但我不知道你为什么要这样做,除非你有另一行可以从中选择,其中其他行='something',那么你会得到3

这会选择元素,但我不知道你为什么要这样做,除非你有另一行可以从中选择,其中其他行='something',那么你会得到3。

试试这个:

declare @x int
set @x = 3

select top 1 
from (select top @x from table order by 1 desc) xx
试试这个:

declare @x int
set @x = 3

select top 1 
from (select top @x from table order by 1 desc) xx
是的,这是可能的 这是你答案的解决方案,试试这个

create table prices
(
    price int 
)

insert into prices values (1)
insert into prices values (5)
insert into prices values (3)
insert into prices values (8)
insert into prices values (2)
insert into prices values (8)

select x.* from
(
    select ROW_NUMBER()over(order by price) as RowNumber,price 
    from prices
)x
where x.RowNumber=3
是的,这是可能的 这是你答案的解决方案,试试这个

create table prices
(
    price int 
)

insert into prices values (1)
insert into prices values (5)
insert into prices values (3)
insert into prices values (8)
insert into prices values (2)
insert into prices values (8)

select x.* from
(
    select ROW_NUMBER()over(order by price) as RowNumber,price 
    from prices
)x
where x.RowNumber=3