我怎样才能在SQL

问题描述:

This is output window我怎样才能在SQL

显示列值这是查询的输出“SELECT * FROM FindNthHighestNumber为了通过ProductAmount desc”的

我想上面镶上绿色部分的个人价值图片。我怎样才能做到这一点?像行=“2”

+0

你使用'ORDER BY'吗? – Lamak

Select *,Row_number(PARTITION BY ID ORDER BY (SELECT NULL)) from Table 
+0

这并不意味着结果与'row_number'的顺序相同 – Lamak

我相信这是你想要什么:

select f.*, row_number() over (order by f.ProductAmount desc) 
from FindNthHighestNumber f 
order by f.ProductAmount desc; 

如果你只是想号码,然后从select删除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;