1. 程式人生 > >oracle資料中一個欄位中存在多個值 進行分組統計查詢

oracle資料中一個欄位中存在多個值 進行分組統計查詢

如圖我有這樣的兩條資料  我要根據unit_name這個欄位中的多個值進行分組統計數量

我要顯示的格式如下

單位名稱        數量
測試單位        1
dd                  2
幼兒園           2

SQL語句如下

SELECT t.UNIT_NAME, count(*) FROM (select pkid,
       regexp_substr(UNIT_NAME, '[^,]+', 1, level) UNIT_NAME
  from FS_UNIT_INFO
connect by level <= regexp_count(UNIT_NAME, ',') + 1
       and pkid = prior pkid
       and prior dbms_random.value is not NULL) t GROUP BY t.UNIT_NAME

效果如下