SQL优化,报表类数据问题

原始数据

province city country burg village
湖南

湖南 京山县

湖南 东兴市 楠木山村
湖南 金寨县 张冲乡

湖南 长沙市

湖南 长沙市 岳麓区

湖南 衡阳市 衡南县 云集镇

湖南 邵阳市

结果

province citynum countrynum burgnum villagenum
湖南 3 5 2 1

说明: 对地市,县,镇,村进行统计,如果为空,不进行统计。这里有点困难,分开统计是可以做的。但是SQL比较多,是否有更好的办法。这里只列了湖南,还有其它省份

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


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

这里有一个问题,就是空看怎么去掉。