mysql 存储过程批量添加数据

/**

案例:每天凌晨统计记录一下每个用户当前的进账跟支出

**/

金额记录表:test_user_log

列名类型大小备注
idint11  
typetinyint1类型(1 为进,2为出)
pricedecimal(12,6)金额
user_idint11用户ID
addtimedatetime 操作时间

金额统计表:test_system_total

字段名类型大小备注
idint11主键id。自增
user_idint11用户id
all_indecimal(12,6)当前收入金额
all_outdecimal(12,6)当前支出金额
addtimedatetime 记录时间

2:写个存储过程:

BEGIN
INSERT INTO test_system_total(user_id,allin,allout,addtime)(SELECT a.user_id,IFNULL(i.inprice,0)  AS inprice,IFNULL(o.outprice,0) AS outprice,NOW() FROM (SELECT user_id FROM test_user_log GROUP BY user_id) a
LEFT JOIN (SELECT user_id,sum(price) AS inprice FROM test_user_log WHERE type=1 GROUP BY user_id) i ON a.user_id=i.user_id
LEFT JOIN (SELECT user_id,sum(price) AS outprice FROM test_user_log WHERE type=2 GROUP BY user_id) o ON a.user_id=o.user_id);

END

3: 之后再写个事件,就可以每天定时执行语句,统计到test_system_total 表中



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值