Загрузка данных


SELECT
    COUNT(*) AS pu_groups,
    COUNT(pension_scheme_id) AS groups_with_scheme,
    COUNT(strategy_id) AS groups_with_strategy,

    COUNT(*) FILTER (
        WHERE sum_dt IS NOT NULL
           OR sum_ct IS NOT NULL
    ) AS groups_with_pu_sums

FROM (
    SELECT
        acc,
        pension_scheme_id,
        strategy_id,
        contract_class_code,
        SUM(sum_dt) AS sum_dt,
        SUM(sum_ct) AS sum_ct
    FROM temp_sum
    GROUP BY
        acc,
        pension_scheme_id,
        strategy_id,
        contract_class_code
) prepared;