如何在mysql中将两行的值相加成一行

a2mppw5e  于 2023-06-28  发布在  Mysql
关注(0)|答案(1)|浏览(145)
'A','Peterson','2012-02-01','Cairo','10000'
'A','Peterson','2012-02-01','Cairo','5000'
'C','Baker','2012-04-01','Cairo','20000'

假设我有一个表,其中包含以下值(varchar(1)、varchar(255)、date、varchar(50)、decimal)
如果前两列匹配,就像在我的例子中那样,那么i应该输出一个包含两行和最后一列的和的表,如下所示:

'A','Peterson','2012-02-01','Cairo','15000'
'C','Baker','2012-04-01','Cairo','20000'

其中,第一行的最后一个单元格是包含此人姓名的前两行的总和。感谢您的评分
我试了不同的语法,但都不管用。

7d7tgy0s

7d7tgy0s1#

这是一个简单的聚合和group_by示例。
如果,使用此输入:

+------+-----------+------------+--------+-------+
| Type |   Name    |    Date    |  City  | Value |
+------+-----------+------------+--------+-------+
| 'A'  | 'Peterson' | 2012-02-01 | 'Cairo'| 10000 |
| 'A'  | 'Peterson' | 2012-02-01 | 'Cairo'| 5000  |
| 'C'  | 'Baker'    | 2012-04-01 | 'Cairo'| 20000 |
+------+-----------+------------+--------+-------+

您需要以下输出:

+------+-----------+------------+--------+-------+
| Type |   Name    |    Date    |  City  | Value |
+------+-----------+------------+--------+-------+
| 'A'  | 'Peterson' | 2012-02-01 | 'Cairo'| 15000 |
| 'C'  | 'Baker'    | 2012-04-01 | 'Cairo'| 20000 |
+------+-----------+------------+--------+-------+

您应该使用以下查询:

SELECT Type, Name, Date, City, SUM(Value) AS Value
FROM YourTable
GROUP BY Type, Name, Date, City;

相关问题