原始表包含 province、city、country、burg、village 字段,層級不全(部分為空)。需按省份統計各層級非空唯一值個數。
使用單條 SQL 完成,利用 COUNT(DISTINCT ...) 配合 GROUP BY:
SELECT province,
COUNT(DISTINCT city) AS cityNum,
COUNT(DISTINCT country) AS countryNum,
COUNT(DISTINCT burg) AS burgNum,
COUNT(DISTINCT village) AS villageNum
FROM tableName
GROUP BY province;
避免多次子查詢或 UNION,效率顯著提升。