通过foreach遍历生成列:
select top 100 percent
year(e.alarm_time) year,
month(e.alarm_time) month,
COUNT(CASE e.area_name WHEN ‘
i
.
g
e
t
(
"
a
r
e
a
N
a
m
e
"
)
′
T
H
E
N
e
.
a
r
e
a
n
a
m
e
E
L
S
E
n
u
l
l
E
N
D
)
a
s
′
{i.get("areaName")}' THEN e.area_name ELSE null END) as '
i.get("areaName")′THENe.areanameELSEnullEND)as′{i.get(“areaCode”)}’
from
(select c.area_name,d.alarm_time,d.camera_code from
(select a.area_code,a.area_name,b.camera_code from
(select distinct area_name,area_code from tb_zngk_znfx_area_info where area_name is not null and area_name != ‘’) a
left join
tb_zngk_znfx_camera_info b on a.area_code = b.area_code) c
left join
(select * from tb_zngk_znfx_realtime_alarm union select * from tb_zngk_znfx_realtime_alarm_history) d
on c.camera_code = d.camera_code where d.alarm_time is not null) e
and year(e.alarm_time) = #{year}
and month(e.alarm_time) = #{month}
group by year(e.alarm_time),month(e.alarm_time)
ORDER BY year(e.alarm_time),month(e.alarm_time)
统计sql的动态列查询
最新推荐文章于 2024-05-27 14:20:08 发布