Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql中获取显示列值_Sql_Sql Server - Fatal编程技术网

如何在sql中获取显示列值

如何在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

这是查询“按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 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;

您使用的是按
排序的
吗?这并不意味着结果的顺序与
行编号的顺序相同