SELECT ${column} AS user_id, ${postId} AS post_id, SUM(amount) AS amount FROM sys_order WHERE ${column} IS NOT NULL AND ${column} <> 0 AND del_flag = 0 AND review_status = ${reviewStatus} AND date_format(order_time,'%y%m%d') >= date_format(${beginTime},'%y%m%d') AND date_format(order_time,'%y%m%d') <= date_format(${endTime},'%y%m%d') GROUP BY ${column} SELECT * FROM ( SELECT * FROM sys_commision c JOIN (SELECT user_id, nick_name AS user_name FROM sys_user) AS u USING(user_id) JOIN (SELECT post_id, post_name FROM sys_post) AS p USING(post_id) WHERE post_id = ${postId} ORDER BY user_id, amount ) as t insert into sys_commision user_id, post_id, amount, rate, create_by, create_time, update_by, update_time, remark, #{userId}, #{postId}, #{amount}, #{rate}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{remark}, update sys_commision user_id = #{userId}, post_id = #{postId}, amount = #{amount}, rate = #{rate}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, remark = #{remark}, where rule_id = #{ruleId} delete from sys_commision where rule_id = #{ruleId} delete from sys_commision where rule_id in #{ruleId}