作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个表:
m3clients
client balance
joe 0
mark 0
jeff 0
和
m3orders
client balance
joe -100
joe 50
joe -45
mark -10
mark 5
jeff 60
我需要更新 m3clients 表的余额字段,其中包含附加在其名称上的余额总和。
所以,它会读成这样:
m3clients
joe -95
mark -5
jeff 60
我应该把 GROUP BY 语句放在更新语句的什么地方?
UPDATE m3clients
INNER JOIN m3orders ON (m3orders.client = m3clients.client)
SET m3clients.balance = m3orders.balance
最佳答案
像这样尝试:
UPDATE m3clients m
INNER JOIN (
SELECT client,SUM(balance) as bal
FROM m3orders
GROUP by client) a ON m.client = a.client
SET m.balance = a.bal
这使用子查询对每个客户的余额求和,然后将其与 m3clients 表连接起来,以便能够使用计算出的余额更新它。
关于mysql - 我可以在 UPDATE 表 MySQL 事务中使用 GROUP BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20498845/
我是一名优秀的程序员,十分优秀!