id, static_date, pl_area_block_id, pl_area_block_name, pl_no, pl_type, pl_name, car_type, all_num, free_num, day_num, night_num, berth_num INSERT INTO t_income_calculation_static_num (static_date, pl_area_block_id, pl_area_block_name, pl_no, pl_type, car_type, all_num, free_num, day_num, night_num) SELECT m.static_date, m.pl_area_block_id, m.pl_area_block_name, m.pl_no, 1, m.car_type, count(*) allNum, SUM(CASE WHEN m.eqpParkDuration < 15 * 60 THEN 1 ELSE 0 END) freeNum, /*停车时长小于15分钟的免费*/ SUM(CASE WHEN m.inTimeHour >= 7 AND m.inTimeHour < 19 AND m.eqpParkDuration >= 15 * 60 THEN 1 ELSE 0 END) dayNum, /* 停车时长大于15分钟,并且 进场时间大于等于7点,小于19点 白天的数据*/ SUM(CASE WHEN (m.inTimeHour < 7 OR m.inTimeHour >= 19) AND m.eqpParkDuration >= 15 * 60 THEN 1 ELSE 0 END) nightNum /* 停车时长大于15分钟,并且 进场时间小于7点,大于等于19点 夜间的数据 */ FROM ( SELECT date_format(t.eqp_out_time, '%Y-%m-%d') static_date, t.pl_no, t.pl_area_block_id, t.pl_area_block_name, 2 car_type, IFNULL(t.eqp_parking_duration,0) eqpParkDuration, EXTRACT(HOUR FROM t.eqp_in_time) inTimeHour, EXTRACT(HOUR FROM t.eqp_out_time) outTimeHour, t.eqp_in_time, t.eqp_out_time FROM tp_p_eqp_inout_record${monthStr} t,tp_p_eqp eqp WHERE t.eqp_out_time >= '${staticStartDate}' AND t.eqp_out_time <= '${staticEndDate}' AND t.eqp_no = eqp.eqp_no AND eqp.used_type = 20 AND t.eqp_parking_duration > 1 * 60 /* 排除掉停车时长小于1分钟的数据 */ AND t.eqp_parking_duration < 12 * 60 * 60 /*排除掉停车时长大于5天的数据*/ AND t.eqp_no NOT IN ( /* 排除掉地磁每天周转次数超过50次的地磁 */ SELECT tmp.eqp_no FROM tp_p_eqp_inout_record${monthStr} tmp WHERE tmp.eqp_out_time >= '${staticStartDate}' AND tmp.eqp_out_time <= '${staticEndDate}' GROUP BY tmp.eqp_no HAVING count(0) > 50) ) m GROUP BY m.pl_area_block_id, m.pl_area_block_name, m.pl_no, m.car_type, m.static_date; SELECT LAST_INSERT_ID() insert into t_income_calculation_static_num (static_date, pl_area_block_id, pl_area_block_name, pl_no, pl_type, pl_name, car_type, all_num, free_num, day_num, night_num, berth_num ) values (#{item.staticDate,jdbcType=VARCHAR}, #{item.plAreaBlockId,jdbcType=BIGINT}, #{item.plAreaBlockName,jdbcType=VARCHAR}, #{item.plNo,jdbcType=VARCHAR}, #{item.plType,jdbcType=INTEGER}, #{item.plName,jdbcType=VARCHAR}, #{item.carType,jdbcType=INTEGER}, #{item.allNum,jdbcType=BIGINT}, #{item.freeNum,jdbcType=INTEGER}, #{item.dayNum,jdbcType=INTEGER}, #{item.nightNum,jdbcType=INTEGER}, #{item.berthNum,jdbcType=INTEGER} )