查询结果中的行号
Row number in query result
我想通过他们去年的销售额获得公司。
select
Name,
Sale
from Sales
order by
Sale DESC
我得到
Firm 2 | 200 000
Firm 1 | 190 000
Firm 3 | 100 000
我想获得结果中的行索引。对于Firm 2
我想得到0
(或1
),对于Firm 3
1
(或2
)等。这可能吗?或者至少创建某种自动增量列。如果需要,我什至可以使用存储过程。
Firebird 3.0 支持 row_number()
这是更好的方法。
但是对于 Firebird 2.5,您可以通过相关子查询获得所需内容:
select s.Name, s.Sale,
(select count(*) from Sales s2 where s2.sale >= s.sale) as seqnum
from Sales s
order by s.Sale DESC;
我想通过他们去年的销售额获得公司。
select
Name,
Sale
from Sales
order by
Sale DESC
我得到
Firm 2 | 200 000
Firm 1 | 190 000
Firm 3 | 100 000
我想获得结果中的行索引。对于Firm 2
我想得到0
(或1
),对于Firm 3
1
(或2
)等。这可能吗?或者至少创建某种自动增量列。如果需要,我什至可以使用存储过程。
Firebird 3.0 支持 row_number()
这是更好的方法。
但是对于 Firebird 2.5,您可以通过相关子查询获得所需内容:
select s.Name, s.Sale,
(select count(*) from Sales s2 where s2.sale >= s.sale) as seqnum
from Sales s
order by s.Sale DESC;