+ -
当前位置:首页 → 问答吧 → 求助, MYSQL 合并更新问题

求助, MYSQL 合并更新问题

时间:2011-11-19

来源:互联网

客户传过来的订单数据,根据数量自动拆分成 N 份,每份数量最多 1000
相同的订单 orderid 相同, itemid 不一样

如下:

orderid itemid quantity ttquantity

1001 1001-1 1000 -1
1001 1001-2 1000 -1
1001 1001-3 1000 -1

1002 1002-1 1000 -1
1002 1002-2 500 -1

现在要把相同 orderid 的数量合计,放在第一份 ttquantity 里,其他 ttquantity 设为 0,即要变成:

orderid itemid quantity ttquantity

1001 1001-1 1000 3000
1001 1001-2 1000 0
1001 1001-3 1000 0

1002 1002-1 1000 1500
1002 1002-2 500 0

现在已有的数据有几十万,而每次传过来的数据有5K左右,有什么高效的更新方法?谢谢!

作者: faisun   发布时间: 2011-11-19

update 订单数据 a left join (
select orderid,min(itemid) as itemid, sum(quantity) as ttquantity
from 订单数据
Group by orderid
) b on a.orderid= b.orderid and a.itemid =b.itemid
Set a.ttquantity =ifnull (b.ttquantity,0)

作者: ACMAIN_CHM   发布时间: 2011-11-21

相关阅读 更多