2
respostas

Construindo 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

Média de horas por grupo:

SELECT
    t2.NUMERO_PROJETO,
    SUM(t2.HORAS)/count(t0.CPF_FUNCIONARIO) AS AVGHORAS
FROM tb_object_trabalha_em t0
CROSS JOIN
JSON_TABLE (JSON_EXTRACT(`JSON`, "$.Projeto"), "$[*]"
COLUMNS (
    HORAS INT PATH "$.Horas",
    NUMERO_PROJETO INT PATH "$.Numero_projeto")) t2
GROUP BY NUMERO_PROJETO;

Oi, Lucas! Tudo certo?

Peço desculpas pela demora em te responder.

Parabéns pela resolução da atividade! Testei os códigos que você compartilhou e obtive o resultado esperado, gostei bastante da maneira pela qual você estruturou os dados da tabela e buscou os valores, continue sempre assim!

Caso surja alguma dúvida ao decorrer dos seus estudos, fico à disposição.

Abraço!