如何使用foreach循环动态统计不同地市的巡查结果状态?

如何使用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循环动态统计不同地市的巡查结果状态?的详细内容,更多请关注其它相关文章!