LINUX.ORG.RU

История изменений

Исправление PPP328, (текущая версия) :

Что-то типа

SELECT 
    (
        SELECT SUM((elem->>key)::int) 
        FROM (
            SELECT jsonb_each(value) 
            FROM (
                SELECT jsonb_array_elements("One") AS value
            ) AS array_elements
        ) AS elem
        WHERE jsonb_typeof(elem.value) = 'number'
        CROSS JOIN LATERAL jsonb_object_keys(value) AS key
    ) AS sum_jsonb,
    
    (
        SELECT COUNT(*)
        FROM (
            SELECT jsonb_each(value) 
            FROM (
                SELECT jsonb_array_elements("Two") AS value
            ) AS array_elements
        ) AS elem
    ) AS count_jsonb
FROM T;

?

Нет базы по рукой с такой версией, могут быть ошибки

Исходная версия PPP328, :

Что-то типа

SELECT 
    (
        SELECT SUM((elem->>key)::int) 
        FROM (
            SELECT jsonb_each(value) 
            FROM (
                SELECT jsonb_array_elements("One") AS value
            ) AS array_elements
        ) AS elem
        WHERE jsonb_typeof(elem.value) = 'number'
        CROSS JOIN LATERAL jsonb_object_keys(value) AS key
    ) AS sum_jsonb,
    
    (
        SELECT COUNT(*)
        FROM (
            SELECT jsonb_each(value) 
            FROM (
                SELECT jsonb_array_elements("Two") AS value
            ) AS array_elements
        ) AS elem
    ) AS count_jsonb
FROM T;

?