mysql updatae select结果

UPDATE tf_c_agency_credit a
INNER JOIN (
SELECT a.agency_id AS agency_id, SUM(CASE
WHEN a.plase_state = 1 THEN IFNULL(a.valuation_fee, 0)
END) AS entrance_fee
, SUM(IFNULL(a.valuation_fee, 0)) AS all_fee
FROM tf_c_trade a
WHERE a.state = 111
GROUP BY a.agency_id
) c
ON a.agency_id = c.agency_id
SET a.entrance_fee = c.entrance_fee, a.all_fee = c.all_fee;

先贴sql吧,需求是写个定时器,十分钟更新一下tf_c_agency_credit 表中 两个字段,字段的数据来自 tf_c_trade 表中 的 valuation_fee 字段和 根据agency_id分组,两个字段都是求和得到的,一个是不分状态,一个是限制状态plase_state =1 ,没啥技术点,简单记录下。主要是mysql update 和select 一起使用的时候得用 inner join 结合使用,lz在写sql的时候数据原因只有一条数据需要更新,看结果只一条受影响然后以为sql有问题,好好反思了好一会儿。写个东西纪念下。这该死的码农

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值