在 Oracle 11g 中构建查询,输出中包含 rownum

Build a query in Oracle 11g with rownum in output

我有一个场景并为它构建一个 Oracle 查询。

Table 列:Plan_No、Invoice_No、Order_Dt。一个计划将有不止一张发票。

我想要得到这个输出:

Plan_No Invoice_No   Order_Dt   Row_No
A1       1001        23-May-17  1
A1       1002        10-Apr-17  2
A1       1003        12-Jan-17  3
A1       1004      11-Nov-16    4
B1       1001      10-May-17    1
B1      2008       10-Feb-17    2
B1      3308       12-Dec-16    3
C1      5007       23-May-17    1
C1      5585       10-Apr-17    2
C1     52545       12-Jan-17    3
C1      5228       11-Nov-16    4
C1      21488       2-Jan-16    5
C1      51546      16-Apr-15    6

我想你可以这样做:

SELECT 
    ROW_NUMBER() OVER(PARTITION BY plan_no ORDER BY Invoice_No) AS row_nbr,
    * 
FROM 
    table