table 中账单金额的总和,并将具有相同账单的重复行视为相同
Sum of Bill amount in a table and treat duplicate rows with the same bill as same
在我的 table 中,我正在存储供应商的采购单。喜欢:
| Bill No | Vendor | Item | Bill Amount |
| 1929 | abc | 123 | 840.00 | <-- Treat these as one
| 1929 | abc | 234 | 840.00 | <-- Treat these as one
| 23874 | xyz | peo | 1024.00 |
| 1942 | abc | pop | 600.00 |
| 4720 | mno | test | 1250.00 |
我想获取供应商的总金额组,其中 mysql 将相同的账单编号视为 1 条记录。输出应该是。
| Vendor | Total Amount |
| abc | 1440.00 | <-- It should be 1440 instead of 2280
| xyz | 1024.00 |
| mno | 1250.00 |
尝试使用 SUM() 聚合:
SELECT
Vendor,
SUM([Bill Amount]) AS [Total Amount]
FROM YourTableName
GROUP BY [Bill No],Vendor
一种方法是在派生的 table 中获取不同的帐单编号及其值,然后对这些值求和并分组。
考虑以下 table
mysql> select * from bills ;
+--------+--------+------+-------------+
| billno | vendor | item | bill_amount |
+--------+--------+------+-------------+
| 1929 | abc | 123 | 840.00 |
| 1929 | abc | 234 | 840.00 |
| 23874 | xyz | peo | 1024.00 |
| 1942 | abc | pop | 600.00 |
| 4720 | mno | test | 1250.00 |
+--------+--------+------+-------------+
5 rows in set (0.00 sec)
然后通过下面的查询我们可以得到数据
select
sum(x.bill_amount) as total_amount,
x.vendor from (
select distinct billno, vendor , bill_amount from bills
)x
group by x.vendor ;
+--------------+--------+
| total_amount | vendor |
+--------------+--------+
| 1440.00 | abc |
| 1250.00 | mno |
| 1024.00 | xyz |
+--------------+--------+
3 rows in set (0.00 sec)
在我的 table 中,我正在存储供应商的采购单。喜欢:
| Bill No | Vendor | Item | Bill Amount |
| 1929 | abc | 123 | 840.00 | <-- Treat these as one
| 1929 | abc | 234 | 840.00 | <-- Treat these as one
| 23874 | xyz | peo | 1024.00 |
| 1942 | abc | pop | 600.00 |
| 4720 | mno | test | 1250.00 |
我想获取供应商的总金额组,其中 mysql 将相同的账单编号视为 1 条记录。输出应该是。
| Vendor | Total Amount |
| abc | 1440.00 | <-- It should be 1440 instead of 2280
| xyz | 1024.00 |
| mno | 1250.00 |
尝试使用 SUM() 聚合:
SELECT
Vendor,
SUM([Bill Amount]) AS [Total Amount]
FROM YourTableName
GROUP BY [Bill No],Vendor
一种方法是在派生的 table 中获取不同的帐单编号及其值,然后对这些值求和并分组。
考虑以下 table
mysql> select * from bills ;
+--------+--------+------+-------------+
| billno | vendor | item | bill_amount |
+--------+--------+------+-------------+
| 1929 | abc | 123 | 840.00 |
| 1929 | abc | 234 | 840.00 |
| 23874 | xyz | peo | 1024.00 |
| 1942 | abc | pop | 600.00 |
| 4720 | mno | test | 1250.00 |
+--------+--------+------+-------------+
5 rows in set (0.00 sec)
然后通过下面的查询我们可以得到数据
select
sum(x.bill_amount) as total_amount,
x.vendor from (
select distinct billno, vendor , bill_amount from bills
)x
group by x.vendor ;
+--------------+--------+
| total_amount | vendor |
+--------------+--------+
| 1440.00 | abc |
| 1250.00 | mno |
| 1024.00 | xyz |
+--------------+--------+
3 rows in set (0.00 sec)