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;