如何在 mysql table 中添加临时列,其中包含相应组的最大值

how to add temp column in mysql table which contains max value of a respective group

我想做这样的事情:

当前 table :

姓名 coupon_price
约翰 10
萨米 20
100
约瑟夫 120
约翰 90
约瑟夫 20
约翰 50
萨米 30

while select正在查询数据(每个客户的优惠券价格总和) 在不丢失实际客户行的情况下,我希望获得以下预期结果:

姓名 coupon_price total_coupon_amount
约翰 10 150
萨米 20 50
100 100
约瑟夫 120 140
约翰 90 150
约瑟夫 20 140
约翰 50 150
萨米 30 50

目标是 select 不同客户的优惠券价格总和,不改变行,因此我们不能在主查询中使用 group by,而且所有相似名称的总优惠券价格应该相同。

编辑:我不想修改 table,我想在 运行 宁 select 查询时修改此列,运行 时间临时列。

SELECT Name,
       coupon_price,
       total_coupon_amount 
FROM t1 
JOIN (SELECT Name, 
             SUM(coupon_price) AS total_coupon_amount 
      FROM t1 
      GROUP BY Name) r2 USING (Name);

您在子查询中创建求和并将两者连接起来。

你should/could也把你想要的ORDER BY放在

如果您想在CREATE VIEW之前

观看