首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

SQL 優化:多層級行政區劃統計去重計數

     編輯:程式設計疑難解答

數據場景

原始表包含 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,效率顯著提升。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved