我有一个名为Transactions的表,如下所示:
transactions:
| id | PartNumber | Quantity |
我知道我可以在MySQL中使用COUNT属性,这将在名为total_quantity的新列中为我提供重复的零件号:
SELECT COUNT(transactions.id) AS total_quantity
FROM transactions
GROUP BY transactions.PartNumber
但是,现在我已经有一个现有数量列,并且想要计算一个新的计数数量,同时也考虑到前一个数量,并在现有数量列中对其进行更新
最有效的方法是什么?
例如:我想从这里开始:
transactions
| id | PartNumber | Quantity |
| 1 | 123 | 1 |
| 2 | 124 | 2 |
| 3 | 125 | 2 |
| 4 | 124 | 2 |
| 5 | 124 | 3 |
| 6 | 126 | 4 |
| 7 | 125 | 1 |
| 8 | 127 | 2 |
对此:
transactions
| id | PartNumber | Quantity |
| 1 | 123 | 1 |
| 2 | 124 | 7 |
| 3 | 125 | 3 |
| 4 | 126 | 4 |
| 5 | 127 | 2 |
答案 0 :(得分:0)
您可以使用此sql请求:
SELECT PartNumber, sum(Quantity) as 'SumQuantity' FROM transactions GROUP BY PartNumber
它会给你这样的东西:
transactions
| PartNumber | SumQuantity |
| 123 | 1 |
| 124 | 7 |
| 125 | 3 |
| 126 | 4 |
| 127 | 2 |
您可以在SQL Fiddle
上找到代码示例