如何使用foreach循环动态统计不同地市的巡查结果状态?
sql查询统计不同地市结果状态
在需要统计不同地市的结果状态,但城市种类繁多时,为了避免写死代码,可以通过使用foreach循环来实现查询结果的动态生成。以下是如何修改原始sql语句:
SELECT result_status, <foreach collection="citys" item="city"> COUNT(CASE WHEN city = #{city.id} THEN city END ) AS city.name, </foreach> FROM sys_patrol WHERE YEAR ( start_patrol_time ) = '2021' GROUP BY result_status
其中:"citys"是一个自定义参数列表,它包含了需要统计的城市id和名称。"city.id"和"city.name"分别表示城市id和城市名称。通过在foreach循环中遍历citys列表,可以动态地生成统计项,避免了写死代码,提高了代码的可维护性。
以上就是如何使用foreach循环动态统计不同地市的巡查结果状态?的详细内容,更多请关注其它相关文章!