
sql 查询优化:动态统计地市结果状态
在 %ign%ignore_a_1%re_a_1% 查询中,我们经常需要统计不同地市的结果状态。传统的方法是在 where 或 group by 子句中写死每个地市 id,但当涉及大量地市时,这种方法会变得冗长且难以维护。
解决方案:使用 foreach 循环
我们可以使用 foreach 循环来动态生成要统计的地市列表。这使我们能够根据需要轻松地添加或删除地市。
修改后的查询如下:
万彩商图
专为电商打造的AI商拍工具,快速生成多样化的高质量商品图和模特图,助力商家节省成本,解决素材生产难、产图速度慢、场地设备拍摄等问题。
201 查看详情
# 使用foreach代替写死代码,通过传参数变更要统计的城市 count(case when city = #{city.id} then city end ) as city.name,
其中,citys 是一个包含地市 id 和名称的集合,city.id 是城市 id,city.name 是城市名称。
示例:
SELECT result_status, COUNT(CASE WHEN city = #{city.id} THEN city END ) AS city.name, FROM sys_patrolWHERE YEAR ( start_patrol_time ) = '2021'GROUP BY result_status
通过使用 foreach 循环,我们避免了写死地市 id 的问题,使查询更加灵活、可维护。
以上就是如何使用动态统计方法优化 MySQL 查询中对大量地市结果状态的统计?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/740024.html
微信扫一扫
支付宝扫一扫