如何在MySQL中使用现有计数列创建更新的计数列

时间:2019-06-11 22:04:13

标签: mysql count

我有一个名为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     |

1 个答案:

答案 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

上找到代码示例