Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Criando tb_object_trabalha_em

CREATE TABLE tb_object_trabalha_em (
                CPF_FUNCIONARIO VARCHAR (11) NOT NULL,
                `JSON` JSON,
                PRIMARY KEY (CPF_FUNCIONARIO));
    INSERT INTO tb_object_trabalha_em VALUES
            ('12345678966',
                '{
                    "Cpf_Funcionario": "12345678966",
                    "Projeto":
                        [
                            {
                                "Numero_Projeto": "1",
                                "Horas": 33
                            },
                            {
                                "Numero_Projeto": "2",
                                "Horas": "8"
                            }
                        ]
                }'
            ),
            ('33344555587',
                '{
                    "Cpf_Funcionario": "33344555587",
                    "Projeto":
                        [
                            {
                                "Numero_Projeto": "2",
                                "Horas": "10"
                            },
                            {
                                "Numero_Projeto": "3",
                                "Horas": "10"
                            },
                            {
                                "Numero_Projeto": "10",
                                "Horas": "10"
                            },
                            {
                                "Numero_Projeto": "20",
                                "Horas": "10"
                            }
                        ]
                }'
            ),
            ('45345345376',
                '{
                    "Cpf_Funcionario": "45345345376",
                    "Projeto":
                        [
                            {
                                "Numero_Projeto": "1",
                                "Horas": "20"
                            },
                            {
                                "Numero_Projeto": "2",
                                "Horas": "20"
                            }
                        ]
                }'
            ),
            ('66688444476',
                '{
                    "Cpf_Funcionario": "66688444476",
                    "Projeto":
                        [
                            {
                                "Numero_Projeto": "3",
                                "Horas": "40"
                            }
                        ]
                }'
            ),
            ('88866555576',
                '{
                    "Cpf_Funcionario": "88866555576",
                    "Projeto":
                        [
                            {
                                "Numero_Projeto": "20",
                                "Horas": "0"
                            }
                        ]
                }'
            ),
            ('98765432168',
                '{
                    "Cpf_Funcionario": "98765432168",
                    "Projeto":
                        [
                            {
                                "Numero_Projeto": "20",
                                "Horas": "20"
                            },
                            {
                                "Numero_Projeto": "30",
                                "Horas": "5"
                            }
                        ]
                }'
            ),
            ('98798798733',
                '{
                    "Cpf_Funcionario": "98798798733",
                    "Projeto":
                        [
                            {
                                "Numero_Projeto": "10",
                                "Horas": "35"
                            },
                            {
                                "Numero_Projeto": "30",
                                "Horas": "5"
                            }
                        ]
                }'
            ),
            ('99988777767',
                '{
                    "Cpf_Funcionario": "99988777767",
                    "Projeto":
                        [
                            {
                                "Numero_Projeto": "10",
                                "Horas": "10"
                            },
                            {
                                "Numero_Projeto": "30",
                                "Horas": "30"
                            }
                        ]
                }'
            );
2 respostas

Resolução:

SELECT
    t2.NUMERO_PROJETO,
    AVG(t2.HORAS) AS MEDIA_HORAS
FROM tb_object_trabalha_em t0
CROSS JOIN
JSON_TABLE (JSON_EXTRACT(`JSON`, "$.Projeto"), "$[*]"
COLUMNS (
    NUMERO_PROJETO INT PATH "$.Numero_Projeto",
    HORAS INT PATH "$.Horas")) t2
GROUP BY t2.NUMERO_PROJETO;
solução!

Olá, Lucas, tudo bem?

A sua consulta ficou muito legal, você está indo muito bem :).

Continue assim e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software