Я хочу извлечь матрицу из таблицы 'CARAT_AGG'.где BILLLING_ACCOUNT_ID - это мой первичный ключ (CUSTOMER COUNT).Я хочу, чтобы все DISTINCT BILLLING_ACCOUNT_ID, чей CUSTOMER_STATUS был «ACTIVE», были помечены как 1, а CUSTOMER_STATUS как «ноль», были помечены как 0 в течение месяца.а затем создайте итоговое суммирование столбцов всех 6 столбцов с 1 или 0.
Я написал приведенный ниже запрос, кто-то может помочь.
select DISTINCT MONTH_YEAR, count(BILLING_ACCOUNT_ID),
sum(case when month_year = '01-APR-18' then NVL(CUSTOMER_STATUS,0) else 1 end) over (partition by MONTH_YEAR) APR_STATUS,
sum(case when month_year = '01-MAY-18' then NVL(CUSTOMER_STATUS,0) else 1 end) over (partition by MONTH_YEAR) MAY_STATUS,
sum(case when month_year = '01-JUN-18' then NVL(CUSTOMER_STATUS,0) else 1 end) over (partition by MONTH_YEAR) JUN_STATUS,
sum(case when month_year = '01-JUL-18' then NVL(CUSTOMER_STATUS,0) else 1 end) over (partition by MONTH_YEAR) JUL_STATUS,
sum(case when month_year = '01-AUG-18' then NVL(CUSTOMER_STATUS,0) else 1 end) over (partition by MONTH_YEAR) AUG_STATUS,
sum(case when month_year = '01-SEP-18' then NVL(CUSTOMER_STATUS,0) else 1 end) over (partition by MONTH_YEAR) SEP_STATUS
from CARAT_AGG
group by MONTH_YEAR
order by MONTH_YEAR
;