SELECT CASE WHEN b.nature = '还贷性路段' THEN b.orgName ELSE b.NAME END AS NAME, b.nature, b.orgName, SUM(d.authBuildMoney) authBuildMoney, SUM(d.designMoney) designMoney, SUM(d.authSupervisorMoney) authSupervisorMoney FROM base_e_route_basesection b LEFT JOIN system_organization o ON b.org_id = o.organizationId LEFT JOIN mat_plan_planfreeway_detail d on d.sonOrgId = o.organizationId WHERE b.isUse = '1' AND b.orgName IS NOT NULL AND d.parentName = '路面工程' AND d.planType = '养护工程' GROUP BY CASE WHEN b.nature = '还贷性路段' THEN b.orgName ELSE b.NAME END ORDER BY b.nature DESC, o.CODE ASC 这条sql统计有误,如何修改
时间: 2024-03-04 18:53:04 浏览: 269
sql学习之CASE WHEN THEN ELSE END的用法
无法准确判断统计有误的原因,但是可以提供一些可能的修改建议:
1. 检查数据源是否正确,确保统计的数据来源正确;
2. 检查 WHERE 条件是否正确,确保过滤出的数据符合预期;
3. 检查 GROUP BY 是否正确,确保分组的维度和统计的维度一致;
4. 检查 SELECT 和 GROUP BY 是否一致,确保 SELECT 中的字段都在 GROUP BY 中出现过;
5. 检查 ORDER BY 是否正确,确保排序的字段存在且符合预期。
阅读全文