公司项目有一个需求,就是有一张故障表,要查询车道故障原因的的故障数,以及一个车道,在该车道的该故障类型的百分比,
说通俗点,假设 一个公司有10个部门,求每个部门每个月发工资的总和,同时计算每个部门每个月发工资的总和占全公司所发工资的百分比
因为涉及公司数据,这里就不把数据贴出来了,个人能力有限,写的不好,仅提供参考
如下图所示
想了很久,个人能力有限,也没有有写出来,最后想到了分而治之的思想,把复杂的功能拆分成简单的功能,然后在组合成想要的功能,虽然不一定是最优的方案,但总归是靠自己的能力写出来的
首先,先求出每个车道的故障数
SELECT
'故障原因' AS "searchResult",
f.ROAD_CODE AS "roadCode",
s.ROAD_NAME AS "roadName",
f.STATION_CODE AS "stationCode",
s.STATION_NAME AS "stationName",
f.LANE_CODE AS "laneCode",
COUNT( f.FAULT_TYPE ) AS counts
FROM
TB_DS_FAULTINFO f
LEFT JOIN TB_BASE_STATION s ON f.ROAD_CODE = s