我正在制作财务脚本,并且在每个月末我都需要所有发票的最终总和。如果发票有4行或10行,则每行包含全部金额。
所以我需要找到不同的发票号码,然后总结它们的价值。
SELECT finalprice
FROM invoices
GROUP BY invoicenumber;
finalprice
87.26
153.72
10.56
979.20
136.20
47.10
112.62
当我尝试使用时,这给了我每一个独特的行,但没有总结它们:
SELECT sum(finalprice)
FROM invoices
GROUP BY invoicenumber;
总和(最终价格)
349.04
1690.92
10.56
11750.4
544.8
141.3
1351.44
此SUM用于唯一invoicenumber
中的每一行,但我需要对每个唯一的发票值求和。
答案 0 :(得分:0)
只需创建一个删除重复项的派生表
我相信你只想要一个总值,所以不需要一个小组。
SELECT SUM(finalprice)
FROM (SELECT DISTINCT invoicenumber, finalprice
FROM invoices) t;
您也可以使用您的版本
SELECT SUM(finalprice)
FROM (SELECT finalprice
FROM invoices
GROUP BY invoicenumber) t;
注意:派生表需要别名,所以我只使用t
。
答案 1 :(得分:0)
最简单的解决方法是除以count()
:
SELECT sum(finalprice)/count(*)
FROM invoices
GROUP BY invoicenumber