SQL CTE Returns 不是按表达式分组错误

SQL CTE Returns Not A Group By Expression Error

我正在尝试为 return 发票所有行的总和创建 CTE,但我收到错误消息:“不是按表达式分组”。不确定哪里出了问题?谢谢

with getinvoices as
(
select 
             i.invoice_nbr
            ,i.invoice_type_id
            ,i.invoice_type_desc
            ,i.invoice_total_amount
            ,ROW_NUMBER() OVER (PARTITION BY i.invoice_nbr ORDER BY i.rowid) rn
            ,sum(i.line_amount) as "Sum Of Line Amount"
             FROM ods_dev.invoices i
             WHERE i.invoice_date>='7/1/2020' and i.invoice_date<'7/2/2020'
                  AND i.invoice_nbr IS NOT NULL
             Group By
                 i.invoice_nbr
                ,i.invoice_type_id
                ,i.invoice_type_desc
                ,i.invoice_total_amount
)
Select *
From getinvoices g
Where g.rn = 1
Order by g.invoice_nbr

这是问题所在:

ROW_NUMBER() OVER (PARTITION BY i.invoice_nbr ORDER BY i.rowid) rn
-------------------------------------------------------^

我不确定你想做什么。也许:

ROW_NUMBER() OVER (PARTITION BY i.invoice_nbr ORDER BY MIN(i.rowid)) as rn

或者您可能想在 GROUP BY 中包含 rowid