如果一個表中某個如datarule_types字段,包含多種類型,並且是用符號分隔的。若此時要統計每個類型的數量可以使用如下代碼
SELECT t.DATARULE_TYPE, count(*) FROM (select id,
regexp_substr(DATARULE_TYPES, '[^,]+', 1, level) DATARULE_TYPE
from datarule
where 1=1
connect by level <= regexp_count(DATARULE_TYPES, ',')+1
and id = prior id
and prior dbms_random.value is not NULL) t GROUP BY t.DATARULE_TYPE