如何在sql中获取显示列值
这是查询“按ProductAmount desc从FindNthHighestNumber订单中选择*的输出”如何在sql中获取显示列值,sql,sql-server,Sql,Sql Server,这是查询“按ProductAmount desc从FindNthHighestNumber订单中选择*的输出” 我想要上面图像中绿色边框部分的单个值。我该怎么做?类似于row='2'我相信这就是您想要的: Select *,Row_number(PARTITION BY ID ORDER BY (SELECT NULL)) from Table select f.*, row_number() over (order by f.ProductAmount desc) from FindNth
我想要上面图像中绿色边框部分的单个值。我该怎么做?类似于row='2'我相信这就是您想要的:
Select *,Row_number(PARTITION BY ID ORDER BY (SELECT NULL)) from Table
select f.*, row_number() over (order by f.ProductAmount desc)
from FindNthHighestNumber f
order by f.ProductAmount desc;
如果只需要数字,请从选择中删除f.*
。如果要选择特定值,则一种方法是使用子查询:
select f.*
from (select f.*, row_number() over (order by f.ProductAmount desc) as seqnum
from FindNthHighestNumber f
) f
where seqnum = 2;
或者,如果您只需要第二行,那么更好的方法是offset
/fetch
:
select f.*
from FindNthHighestNumber f
order by f.ProductAmount desc
offset 1
fetch first 1 row only;
您使用的是按
排序的吗?这并不意味着结果的顺序与行编号的顺序相同