根据不同时间统计不同类型的数据(存储过程)

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 根据不同时间统计不同类型的数据(存储过程),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1 存储过程

CREATE DEFINER=`czc`@`%` PROCEDURE `getStatisticsByYearAndMonth`(in statisticsYear int, in statisticsMonth int, in completeStr VARCHAR(20))
BEGIN
	  if statisticsMonth = 1 or statisticsMonth = 3 or statisticsMonth = 5 or statisticsMonth = 7 or statisticsMonth = 8 or statisticsMonth = 10 or statisticsMonth = 12 then
				if statisticsMonth = 1 then
						select  d.type as '服务次数统计点', 
										e.rq1 '1月01日', e.rq2 '1月02日', e.rq3 '1月03日', e.rq4 '1月04日', 
										e.rq5 '1月05日', e.rq6 '1月06日', e.rq7 '1月07日', e.rq8 '1月08日', 
										e.rq9 '1月09日', e.rq10 '1月10日', e.rq11 '1月11日', e.rq12 '1月12日', 
										e.rq13 '1月13日', e.rq14 '1月14日', e.rq15 '1月15日', e.rq16 '1月16日', 
										e.rq17 '1月17日', e.rq18 '1月18日', e.rq19 '1月19日', e.rq20 '1月20日', 
										e.rq21 '1月21日', e.rq22 '1月22日', e.rq23 '1月23日', e.rq24 '1月24日', 
										e.rq25 '1月25日', e.rq26 '1月26日', e.rq27 '1月27日', e.rq28 '1月28日', 
										e.rq29 '1月29日', e.rq30 '1月30日', e.rq31 '1月31日'
						from server_times_statistics_type d
						left join (
								select  c.type, 
												sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
												sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
												sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
												sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
								from (
										select a.type,
												case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
												case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
												case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
												case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
												case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
												case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
												case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
												case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
												case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
												case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
												case when a.day_temp = 31 then a.times end rq31
										from (
												select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
												from server_times_statistics
												where date_format(create_time, '%Y-%m') = completeStr 
												group by date_format(create_time, '%m-%d'), type
										)a
								)c 
								group by c.type
						) e on d.id = e.type;
				elseif statisticsMonth = 3 then
						select  d.type as '服务次数统计点', 
										e.rq1 '3月01日', e.rq2 '3月02日', e.rq3 '3月03日', e.rq4 '3月04日', 
										e.rq5 '3月05日', e.rq6 '3月06日', e.rq7 '3月07日', e.rq8 '3月08日', 
										e.rq9 '3月09日', e.rq10 '3月10日', e.rq11 '3月11日', e.rq12 '3月12日', 
										e.rq13 '3月13日', e.rq14 '3月14日', e.rq15 '3月15日', e.rq16 '3月16日', 
										e.rq17 '3月17日', e.rq18 '3月18日', e.rq19 '3月19日', e.rq20 '3月20日', 
										e.rq21 '3月21日', e.rq22 '3月22日', e.rq23 '3月23日', e.rq24 '3月24日', 
										e.rq25 '3月25日', e.rq26 '3月26日', e.rq27 '3月27日', e.rq28 '3月28日', 
										e.rq29 '3月29日', e.rq30 '3月30日', e.rq31 '3月31日'
						from server_times_statistics_type d
						left join (
								select  c.type, 
												sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
												sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
												sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
												sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
								from (
										select a.type,
												case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
												case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
												case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
												case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
												case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
												case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
												case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
												case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
												case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
												case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
												case when a.day_temp = 31 then a.times end rq31
										from (
												select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
												from server_times_statistics
												where date_format(create_time, '%Y-%m') = completeStr
												group by date_format(create_time, '%m-%d'), type
										)a
								)c 
								group by c.type
						) e on d.id = e.type;
				elseif statisticsMonth = 5 then
						select  d.type as '服务次数统计点', 
										e.rq1 '5月01日', e.rq2 '5月02日', e.rq3 '5月03日', e.rq4 '5月04日', 
										e.rq5 '5月05日', e.rq6 '5月06日', e.rq7 '5月07日', e.rq8 '5月08日', 
										e.rq9 '5月09日', e.rq10 '5月10日', e.rq11 '5月11日', e.rq12 '5月12日', 
										e.rq13 '5月13日', e.rq14 '5月14日', e.rq15 '5月15日', e.rq16 '5月16日', 
										e.rq17 '5月17日', e.rq18 '5月18日', e.rq19 '5月19日', e.rq20 '5月20日', 
										e.rq21 '5月21日', e.rq22 '5月22日', e.rq23 '5月23日', e.rq24 '5月24日', 
										e.rq25 '5月25日', e.rq26 '5月26日', e.rq27 '5月27日', e.rq28 '5月28日', 
										e.rq29 '5月29日', e.rq30 '5月30日', e.rq31 '5月31日'
						from server_times_statistics_type d
						left join (
								select  c.type, 
												sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
												sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
												sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
												sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
								from (
										select a.type,
												case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
												case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
												case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
												case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
												case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
												case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
												case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
												case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
												case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
												case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
												case when a.day_temp = 31 then a.times end rq31
										from (
												select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
												from server_times_statistics
												where date_format(create_time, '%Y-%m') = completeStr
												group by date_format(create_time, '%m-%d'), type
										)a
								)c 
								group by c.type
						) e on d.id = e.type;
				elseif statisticsMonth = 7 then
						select  d.type as '服务次数统计点',
										e.rq1 '7月01日', e.rq2 '7月02日', e.rq3 '7月03日', e.rq4 '7月04日',
										e.rq5 '7月05日', e.rq6 '7月06日', e.rq7 '7月07日', e.rq8 '7月08日',
										e.rq9 '7月09日', e.rq10 '7月10日', e.rq11 '7月11日', e.rq12 '7月12日',
										e.rq13 '7月13日', e.rq14 '7月14日', e.rq15 '7月15日', e.rq16 '7月16日',
										e.rq17 '7月17日', e.rq18 '7月18日', e.rq19 '7月19日', e.rq20 '7月20日',
										e.rq21 '7月21日', e.rq22 '7月22日', e.rq23 '7月23日', e.rq24 '7月24日',
										e.rq25 '7月25日', e.rq26 '7月26日', e.rq27 '7月27日', e.rq28 '7月28日',
										e.rq29 '7月29日', e.rq30 '7月30日', e.rq31 '7月31日'
						from server_times_statistics_type d
						left join (
								select  c.type, 
												sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
												sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
												sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
												sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
								from (
										select a.type,
												case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
												case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
												case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
												case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
												case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
												case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
												case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
												case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
												case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
												case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
												case when a.day_temp = 31 then a.times end rq31
										from (
												select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
												from server_times_statistics
												where date_format(create_time, '%Y-%m') = completeStr
												group by date_format(create_time, '%m-%d'), type
										)a
								)c 
								group by c.type
						) e on d.id = e.type;
				elseif statisticsMonth = 8 then
						select  d.type as '服务次数统计点',
										e.rq1 '8月01日', e.rq2 '8月02日', e.rq3 '8月03日', e.rq4 '8月04日',
										e.rq5 '8月05日', e.rq6 '8月06日', e.rq7 '8月07日', e.rq8 '8月08日',
										e.rq9 '8月09日', e.rq10 '8月10日', e.rq11 '8月11日', e.rq12 '8月12日',
										e.rq13 '8月13日', e.rq14 '8月14日', e.rq15 '8月15日', e.rq16 '8月16日',
										e.rq17 '8月17日', e.rq18 '8月18日', e.rq19 '8月19日', e.rq20 '8月20日',
										e.rq21 '8月21日', e.rq22 '8月22日', e.rq23 '8月23日', e.rq24 '8月24日',
										e.rq25 '8月25日', e.rq26 '8月26日', e.rq27 '8月27日', e.rq28 '8月28日',
										e.rq29 '8月29日', e.rq30 '8月30日', e.rq31 '8月31日'
						from server_times_statistics_type d
						left join (
								select  c.type, 
												sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
												sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
												sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
												sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
								from (
										select a.type,
												case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
												case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
												case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
												case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
												case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
												case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
												case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
												case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
												case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
												case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
												case when a.day_temp = 31 then a.times end rq31
										from (
												select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
												from server_times_statistics
												where date_format(create_time, '%Y-%m') = completeStr
												group by date_format(create_time, '%m-%d'), type
										)a
								)c 
								group by c.type
						) e on d.id = e.type;
				elseif statisticsMonth = 10 then
					 select  d.type as '服务次数统计点',
									 e.rq1 '10月01日', e.rq2 '10月02日', e.rq3 '10月03日', e.rq4 '10月04日',
									 e.rq5 '10月05日', e.rq6 '10月06日', e.rq7 '10月07日', e.rq8 '10月08日',
									 e.rq9 '10月09日', e.rq10 '10月10日', e.rq11 '10月11日', e.rq12 '10月12日',
									 e.rq13 '10月13日', e.rq14 '10月14日', e.rq15 '10月15日', e.rq16 '10月16日',
									 e.rq17 '10月17日', e.rq18 '10月18日', e.rq19 '10月19日', e.rq20 '10月20日',
									 e.rq21 '10月21日', e.rq22 '10月22日', e.rq23 '10月23日', e.rq24 '10月24日',
									 e.rq25 '10月25日', e.rq26 '10月26日', e.rq27 '10月27日', e.rq28 '10月28日',
									 e.rq29 '10月29日', e.rq30 '10月30日', e.rq31 '10月31日'
					  from server_times_statistics_type d
						left join (
								select  c.type, 
												sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
												sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
												sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
												sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
								from (
										select a.type,
												case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
												case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
												case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
												case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
												case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
												case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
												case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
												case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
												case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
												case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
												case when a.day_temp = 31 then a.times end rq31
										from (
												select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
												from server_times_statistics
												where date_format(create_time, '%Y-%m') = completeStr
												group by date_format(create_time, '%m-%d'), type
										)a
								)c 
								group by c.type
						) e on d.id = e.type;
				else
					 select  d.type as '服务次数统计点',
									 e.rq1 '12月01日', e.rq2 '12月02日', e.rq3 '12月03日', e.rq4 '12月04日',
									 e.rq5 '12月05日', e.rq6 '12月06日', e.rq7 '12月07日', e.rq8 '12月08日',
									 e.rq9 '12月09日', e.rq10 '12月10日', e.rq11 '12月11日', e.rq12 '12月12日',
									 e.rq13 '12月13日', e.rq14 '12月14日', e.rq15 '12月15日', e.rq16 '12月16日',
									 e.rq17 '12月17日', e.rq18 '12月18日', e.rq19 '12月19日', e.rq20 '12月20日',
									 e.rq21 '12月21日', e.rq22 '12月22日', e.rq23 '12月23日', e.rq24 '12月24日',
									 e.rq25 '12月25日', e.rq26 '12月26日', e.rq27 '12月27日', e.rq28 '12月28日',
									 e.rq29 '12月29日', e.rq30 '12月30日', e.rq31 '12月31日'
					  from server_times_statistics_type d
						left join (
								select  c.type, 
												sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
												sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
												sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
												sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
								from (
										select a.type,
												case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
												case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
												case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
												case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
												case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
												case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
												case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
												case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
												case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
												case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
												case when a.day_temp = 31 then a.times end rq31
										from (
												select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
												from server_times_statistics
												where date_format(create_time, '%Y-%m') = completeStr
												group by date_format(create_time, '%m-%d'), type
										)a
								)c 
								group by c.type
						) e on d.id = e.type;
				end if;					
	  elseif statisticsMonth = 4 or statisticsMonth = 6 or statisticsMonth = 9 or statisticsMonth = 11 then
				if statisticsMonth = 4 then
					select  d.type as '服务次数统计点',
									e.rq1  '4月01日',e.rq2 '4月02日', e.rq3 '4月03日', e.rq4 '4月04日',
									e.rq5 '4月05日', e.rq6 '4月06日', e.rq7 '4月07日', e.rq8 '4月08日',
									e.rq9 '4月09日', e.rq10 '4月10日', e.rq11 '4月11日', e.rq12 '4月12日',
									e.rq13 '4月13日', e.rq14 '4月14日', e.rq15 '4月15日', e.rq16 '4月16日',
									e.rq17 '4月17日', e.rq18 '4月18日', e.rq19 '4月19日', e.rq20 '4月20日',
									e.rq21 '4月21日', e.rq22 '4月22日', e.rq23 '4月23日', e.rq24 '4月24日',
									e.rq25 '4月25日', e.rq26 '4月26日', e.rq27 '4月27日', e.rq28 '4月28日',
									e.rq29 '4月29日', e.rq30 '4月30日'
					from server_times_statistics_type d
					left join (
							select  c.type, 
											sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
											sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
											sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
											sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
							from (
									select a.type,
											case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
											case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
											case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
											case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
											case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
											case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
											case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
											case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
											case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
											case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
											case when a.day_temp = 31 then a.times end rq31
									from (
											select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
											from server_times_statistics
											where date_format(create_time, '%Y-%m') = completeStr
											group by date_format(create_time, '%m-%d'), type
									)a
							)c 
							group by c.type
					) e on d.id = e.type;
				elseif statisticsMonth = 6 then
					select  d.type as '服务次数统计点',
									e.rq1  '6月01日',e.rq2 '6月02日', e.rq3 '6月03日', e.rq4 '6月04日',
									e.rq5 '6月05日', e.rq6 '6月06日', e.rq7 '6月07日', e.rq8 '6月08日',
									e.rq9 '6月09日', e.rq10 '6月10日', e.rq11 '6月11日', e.rq12 '6月12日',
									e.rq13 '6月13日', e.rq14 '6月14日', e.rq15 '6月15日', e.rq16 '6月16日',
									e.rq17 '6月17日', e.rq18 '6月18日', e.rq19 '6月19日', e.rq20 '6月20日',
									e.rq21 '6月21日', e.rq22 '6月22日', e.rq23 '6月23日', e.rq24 '6月24日',
									e.rq25 '6月25日', e.rq26 '6月26日', e.rq27 '6月27日', e.rq28 '6月28日',
									e.rq29 '6月29日', e.rq30 '6月30日'
					from server_times_statistics_type d
					left join (
							select  c.type, 
											sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
											sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
											sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
											sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
							from (
									select a.type,
											case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
											case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
											case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
											case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
											case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
											case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
											case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
											case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
											case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
											case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
											case when a.day_temp = 31 then a.times end rq31
									from (
											select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
											from server_times_statistics
											where date_format(create_time, '%Y-%m') = completeStr
											group by date_format(create_time, '%m-%d'), type
									)a
							)c 
							group by c.type
					) e on d.id = e.type;
				elseif statisticsMonth = 9 then
					select  d.type as '服务次数统计点',
									e.rq1  '9月01日',e.rq2 '9月02日', e.rq3 '9月03日', e.rq4 '9月04日',
									e.rq5 '9月05日', e.rq6 '9月06日', e.rq7 '9月07日', e.rq8 '9月08日',
									e.rq9 '9月09日', e.rq10 '9月10日', e.rq11 '9月11日', e.rq12 '9月12日',
									e.rq13 '9月13日', e.rq14 '9月14日', e.rq15 '9月15日', e.rq16 '9月16日',
									e.rq17 '9月17日', e.rq18 '9月18日', e.rq19 '9月19日', e.rq20 '9月20日',
									e.rq21 '9月21日', e.rq22 '9月22日', e.rq23 '9月23日', e.rq24 '9月24日',
									e.rq25 '9月25日', e.rq26 '9月26日', e.rq27 '9月27日', e.rq28 '9月28日',
									e.rq29 '9月29日', e.rq30 '9月30日'
					from server_times_statistics_type d
							left join (
									select  c.type, 
													sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
													sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
													sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
													sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
									from (
											select a.type,
													case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
													case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
													case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
													case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
													case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
													case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
													case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
													case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
													case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
													case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
													case when a.day_temp = 31 then a.times end rq31
											from (
													select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
													from server_times_statistics
													where date_format(create_time, '%Y-%m') = completeStr
													group by date_format(create_time, '%m-%d'), type
											)a
									)c 
									group by c.type
							) e on d.id = e.type;			
				else
					select  d.type as '服务次数统计点',
									e.rq1  '11月01日',e.rq2 '11月02日', e.rq3 '11月03日', e.rq4 '11月04日',
									e.rq5 '11月05日', e.rq6 '11月06日', e.rq7 '11月07日', e.rq8 '11月08日',
									e.rq9 '11月09日', e.rq10 '11月10日', e.rq11 '11月11日', e.rq12 '11月12日',
									e.rq13 '11月13日', e.rq14 '11月14日', e.rq15 '11月15日', e.rq16 '11月16日',
									e.rq17 '11月17日', e.rq18 '11月18日', e.rq19 '11月19日', e.rq20 '11月20日',
									e.rq21 '11月21日', e.rq22 '11月22日', e.rq23 '11月23日', e.rq24 '11月24日',
									e.rq25 '11月25日', e.rq26 '11月26日', e.rq27 '11月27日', e.rq28 '11月28日',
									e.rq29 '11月29日', e.rq30 '11月30日'
					from server_times_statistics_type d
					left join (
							select  c.type, 
											sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
											sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
											sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
											sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
							from (
									select a.type,
											case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
											case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
											case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
											case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
											case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
											case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
											case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
											case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
											case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
											case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
											case when a.day_temp = 31 then a.times end rq31
									from (
											select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
											from server_times_statistics
											where date_format(create_time, '%Y-%m') = completeStr
											group by date_format(create_time, '%m-%d'), type
									)a
							)c 
							group by c.type
					) e on d.id = e.type;
				end if;	
	  elseif statisticsMonth = 2 and (statisticsYear % 400 = 0 || (statisticsYear % 4 = 0 && statisticsYear % 100 != 0)) then
				select  d.type as '服务次数统计点',
								e.rq1  '2月01日',e.rq2 '2月02日', e.rq3 '2月03日', e.rq4 '2月04日',
								e.rq5 '2月05日', e.rq6 '2月06日', e.rq7 '2月07日', e.rq8 '2月08日',
								e.rq9 '2月09日', e.rq10 '2月10日', e.rq11 '2月11日', e.rq12 '2月12日',
								e.rq13 '2月13日', e.rq14 '2月14日', e.rq15 '2月15日', e.rq16 '2月16日',
								e.rq17 '2月17日', e.rq18 '2月18日', e.rq19 '2月19日', e.rq20 '2月20日',
								e.rq21 '2月21日', e.rq22 '2月22日', e.rq23 '2月23日', e.rq24 '2月24日',
								e.rq25 '2月25日', e.rq26 '2月26日', e.rq27 '2月27日', e.rq28 '2月28日',
								e.rq29 '2月29日'							
				from server_times_statistics_type d
				left join (
						select  c.type, 
										sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
										sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
										sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
										sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
						from (
								select a.type,
										case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
										case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
										case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
										case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
										case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
										case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
										case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
										case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
										case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
										case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
										case when a.day_temp = 31 then a.times end rq31
								from (
										select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
										from server_times_statistics
										where date_format(create_time, '%Y-%m') = completeStr
										group by date_format(create_time, '%m-%d'), type
								)a
						)c 
						group by c.type
				) e on d.id = e.type;							
	  else							
				select  d.type as '服务次数统计点',
								e.rq1  '2月01日',e.rq2 '2月02日', e.rq3 '2月03日', e.rq4 '2月04日',
								e.rq5 '2月05日', e.rq6 '2月06日', e.rq7 '2月07日', e.rq8 '2月08日',
								e.rq9 '2月09日', e.rq10 '2月10日', e.rq11 '2月11日', e.rq12 '2月12日',
								e.rq13 '2月13日', e.rq14 '2月14日', e.rq15 '2月15日', e.rq16 '2月16日',
								e.rq17 '2月17日', e.rq18 '2月18日', e.rq19 '2月19日', e.rq20 '2月20日',
								e.rq21 '2月21日', e.rq22 '2月22日', e.rq23 '2月23日', e.rq24 '2月24日',
								e.rq25 '2月25日', e.rq26 '2月26日', e.rq27 '2月27日', e.rq28 '2月28日'	 
				from server_times_statistics_type d
				left join (
						select  c.type, 
										sum(c.rq1) rq1, sum(c.rq2) rq2, sum(c.rq3) rq3, sum(c.rq4) rq4, sum(c.rq5) rq5, sum(c.rq6) rq6,sum(c.rq7) rq7, sum(c.rq8) rq8, 
										sum(c.rq9) rq9, sum(c.rq10) rq10, sum(c.rq11) rq11, sum(c.rq12) rq12, sum(c.rq13) rq13, sum(c.rq14) rq14, sum(c.rq15) rq15, sum(c.rq16) rq16, 
										sum(c.rq17) rq17, sum(c.rq18) rq18, sum(c.rq19) rq19, sum(c.rq20) rq20, sum(c.rq21) rq21, sum(c.rq22) rq22, sum(c.rq23) rq23, sum(c.rq24) rq24,
										sum(c.rq25) rq25, sum(c.rq26) rq26, sum(c.rq27) rq27, sum(c.rq28) rq28, sum(c.rq29) rq29, sum(c.rq30) rq30, sum(c.rq31) rq31
						from (
								select a.type,
										case when a.day_temp = '01' then a.times end rq1, case when a.day_temp = '02' then a.times end rq2, case when a.day_temp = '03' then a.times end rq3,
										case when a.day_temp = '04' then a.times end rq4, case when a.day_temp = '05' then a.times end rq5, case when a.day_temp = '06' then a.times end rq6,
										case when a.day_temp = '07' then a.times end rq7, case when a.day_temp = '08' then a.times end rq8, case when a.day_temp = '09' then a.times end rq9,
										case when a.day_temp = 10 then a.times end rq10, case when a.day_temp = 11 then a.times end rq11, case when a.day_temp = 12 then a.times end rq12,
										case when a.day_temp = 13 then a.times end rq13, case when a.day_temp = 14 then a.times end rq14, case when a.day_temp = 15 then a.times end rq15,
										case when a.day_temp = 16 then a.times end rq16, case when a.day_temp = 17 then a.times end rq17, case when a.day_temp = 18 then a.times end rq18,
										case when a.day_temp = 19 then a.times end rq19, case when a.day_temp = 20 then a.times end rq20, case when a.day_temp = 21 then a.times end rq21,
										case when a.day_temp = 22 then a.times end rq22, case when a.day_temp = 23 then a.times end rq23, case when a.day_temp = 24 then a.times end rq24,
										case when a.day_temp = 25 then a.times end rq25, case when a.day_temp = 26 then a.times end rq26, case when a.day_temp = 27 then a.times end rq27,
										case when a.day_temp = 28 then a.times end rq28, case when a.day_temp = 29 then a.times end rq29, case when a.day_temp = 30 then a.times end rq30,
										case when a.day_temp = 31 then a.times end rq31
								from (
										select date_format(create_time, '%m-%d') as md, type, count(0) times, date_format(create_time, '%d') as day_temp
										from server_times_statistics
										where date_format(create_time, '%Y-%m') = completeStr 
										group by date_format(create_time, '%m-%d'), type
								)a
						)c 
						group by c.type
				) e on d.id = e.type;
	  end if;		 		
END

2 调用

call getStatisticsByYearAndMonth(2022, 6, '2022-06');

3 结果
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/137469.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!