MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    avatar
    kobawlsky04
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 21/08/2023

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  kobawlsky04 21/8/2023, 00:11

    Olá. Estou com dificuldade em encontrar como retornar o valor máximo para cada soma de valor já agrupado em uma coluna de um banco de dados Access retornando também os valores de outras duas colunas. Tenho a tabela (Produtividade) com a seguinte estrutura:

    Data             IDLocal Valor IDAtendimento
    03/01/2023     1        200       89
    03/01/2023     1        200       87
    13/01/2023     1        200       86
    13/01/2023     1        200       83
    03/01/2023     2        200       82
    03/02/2023     3        200       81
    03/02/2023     3        200       79
    03/04/2023     2        200       77
    03/01/2023     2        200       74
    03/03/2023     1        200       92
    03/04/2023     3        700       73
    03/01/2023     1        200       90
    Quando faço o agrupamento por data e local obtenho o resultado:

    "select data, IDLocal, Sum(valor) AS Val from Produtividade group by IDLocal, data"

    data           IDLocal Val
    2023-01-03      1    600
    2023-01-03      2    400
    2023-01-13      1    400
    2023-02-01      3    200
    2023-02-03      3    200
    2023-03-03      1    200
    2023-04-03      2    200
    2023-04-03      3    700

    Preciso obter o seguinte resultado dos valores máximos de cada local e com as respectivas datas:

    Data                IDLocal Valor
    2023-01-03         1       600
    2023-01-03         2       400
    2023-04-03         3       700

    Alguém poderia me ajudar?


    Última edição por kobawlsky04 em 23/8/2023, 01:57, editado 2 vez(es)
    Finformática
    Finformática
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1098
    Registrado : 23/03/2010

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty Re: [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  Finformática 21/8/2023, 14:01

    Caro Klayvison, seja bem-vindo ao fórum.

    Criei uma consulta lendo a tabela TbDataLocalValor contendo os mesmos campos que vc mencionou e ficou assim:

    SELECT TbDataLocalValor.Loc, Sum(TbDataLocalValor.ValorX) AS SomaDeValorX
    FROM TbDataLocalValor
    GROUP BY TbDataLocalValor.DataX, TbDataLocalValor.Loc;

    Depois, lendo essa consulta:

    SELECT [TbDataLocalValor Consulta1].Loc, Max([TbDataLocalValor Consulta1].SomaDeValorX) AS MáxDeSomaDeValorX
    FROM [TbDataLocalValor Consulta1]
    GROUP BY [TbDataLocalValor Consulta1].Loc;

    Você vai obter exatamente o que vc mostrou como resposta esperada.

    Obs. No conteúdo da sua tabela não contém certas data que após agrupar aparecem (01/03/23). Como consegue? Será vi errado?

    Abraços


    kobawlsky04 gosta desta mensagem

    avatar
    kobawlsky04
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 21/08/2023

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty Re: [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  kobawlsky04 21/8/2023, 16:40

    Antes de mais nada, muito obrigado pelo retorno rápido.
    A questão é que não aparecem as datas nas consultas que você realizou, Finformática.
    Estou precisando fazer um ranking dos maiores valores acumulados (usando a função de agregação Sum), mas por Data e IDLocal.
    Finformática
    Finformática
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1098
    Registrado : 23/03/2010

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty Re: [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  Finformática 21/8/2023, 19:09

    Olá!

    Faça mais outra consulta:
    SELECT [TbDataLocalValor Consulta1].DataX, [TbDataLocalValor Consulta2].[Loc], [TbDataLocalValor Consulta2].[MáxDeSomaDeValorX]
    FROM [TbDataLocalValor Consulta2] INNER JOIN [TbDataLocalValor Consulta1] ON ([TbDataLocalValor Consulta2].MáxDeSomaDeValorX = [TbDataLocalValor Consulta1].SomaDeValorX) AND ([TbDataLocalValor Consulta2].Loc = [TbDataLocalValor Consulta1].Loc);

    Veja se é isso.

    Abraços

    kobawlsky04 gosta desta mensagem

    avatar
    kobawlsky04
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 21/08/2023

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty Re: [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  kobawlsky04 21/8/2023, 19:46

    Ainda não consegui.
    Aparece a seguinte mensagem de erro:
    "O campo especificado '[TbDataLocalValor Consulta1].DataX' pode se referir a mais de uma tabela relacionada na cláusula FROM da instrução SQL."
    Fiz a substituição do seu exemplo pela minha tabela original.
    Na verdade, fiz o mesmo passo a passo que você. Porém, na minha tabela original que tem 10717 registros até o momento. Criei a tabela com o mesmo nome que a sua, fiz um "INSERT INTO" da minha tabela original pra transferir todos os registros e testar exatamente os mesmo comandos e persiste com o erro acima. O que estou fazendo de errado?
    Finformática
    Finformática
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1098
    Registrado : 23/03/2010

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty Re: [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  Finformática 21/8/2023, 20:56

    Olá Amigo,

    Seria possível vc enviar apenas as partes envolvidas nesse problema para melhor visualizar o problema. A variável DataX só aparece apenas uma vez na tabela e nas consultas. Envia a sua tabela e as consultas que você adaptou.

    Aqui não aparece erro algum.

    Abraços

    kobawlsky04 gosta desta mensagem

    avatar
    kobawlsky04
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 21/08/2023

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty Re: [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  kobawlsky04 22/8/2023, 14:15

    Perfeito, Finformática!
    Eu estava cometendo um erro na escrita do código. Fiz como você orientou e deu super certo.
    Muuuuitoooo obrigado mesmo!
    A sua linha de raciocínio me ajudou a solucionar, inclusive, outros problemas que eu estava tendo com outras instruções SQL.
    Finformática
    Finformática
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1098
    Registrado : 23/03/2010

    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty Re: [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  Finformática 22/8/2023, 17:59

    Olá!

    Obrigado pelo retorno. Se concluiu seu problema coloque como Resolvido.

    Forte abraço

    kobawlsky04 gosta desta mensagem


    Conteúdo patrocinado


    [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access? Empty Re: [Resolvido]Como obter o valor máximo de cada coluna depois de agrupar dados em banco de dados Access?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 08:00