如何在 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
之前
观看
我想做这样的事情:
当前 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
之前