优化下面sqlSELECT sum IF risk_status = 0 OR risk_status = 2 cnt0 AS off sum IF risk_status = 1cnt0 AS open risklevel FROM SELECT count AS cnt mdrisklevel mdrisk_status FROM myfxgk_danger AS md GROUP B
优化后的SQL如下: SELECT SUM(CASE WHEN risk_status = '0' OR risk_status = '2' THEN cnt ELSE 0 END) AS off, SUM(CASE WHEN risk_status = '1' THEN cnt ELSE 0 END) AS open, risklevel FROM (SELECT COUNT(*) AS cnt, risklevel, risk_status FROM myfxgk_danger GROUP BY risklevel, risk_status) tmp GROUP BY risklevel
原文地址: https://www.cveoy.top/t/topic/i06w 著作权归作者所有。请勿转载和采集!