[firebase-br] agrupamento por totalização (count)

Renan Rogowski Pozzo renanrpozzo em gmail.com
Qua Ago 8 10:51:51 -03 2018


Olá Sofia.
Fiz um teste rápido com base nos dados que você passou.
Com o select abaixo, aparentemente, retornou certo a informação do Lote e
de qual produto teve maior incidência.

select count(*) as total, lt1.lote, lt1.produto
from lote_teste lt1
group by lt1.lote, lt1.produto
having count(*) = (select max(total)
                   from (select count(*) total, lt1.lote, lt1.produto
                         from lote_teste lt1
                         group by lt1.lote, lt1.produto) tot
                         where tot.lote = lt1.lote)

Não avaliei performance disso em uma base grande. Mas se quiser fazer uns
testes com base nesse select.

Abraço,
Renan Rogowski Pozzo

*"E a paz de Deus, que excede todo o entendimento, guardará os vossos
corações e os vossos pensamentos em Cristo Jesus." Filipenses 4.7*


Em qua, 8 de ago de 2018 às 08:46, Julio Sardenberg <julioc2s em gmail.com>
escreveu:

> Verdade!
>
> Chegando no trabalho, daqui a uma hora, vou montar o cenário numa base e
> construir uma procedure pra atender sua necessidade.
> Pela complexidade já pede uma procedure.
>
> Att,
> Julio Sardenberg
>
>
>
> Em Qua, 8 de ago de 2018 08:22, Sofia Bonato de Moraes - EES <
> sbonato em ees.com.br> escreveu:
>
> > Bom dia Julio,
> >
> > Não é isto não...  Não preciso do max do produto... Preciso do produto de
> > maior incidência no lote...
> >
> >
> >
> > Mas obrigada.
> >
> >
> >
> > *De:* Julio Sardenberg <julioc2s em gmail.com>
> > *Enviada em:* terça-feira, 7 de agosto de 2018 18:11
> > *Para:* sbonato em ees.com.br; FireBase <lista em firebase.com.br>
> > *Assunto:* Re: [firebase-br] agrupamento por totalização (count)
> >
> >
> >
> > Uma forma:
> >
> >
> >
> > Select distinct Lote , (select max(Produto) from Tabela1 t11 where
> t1.Lote
> > = t11.Lote )
> >
> > From Tabela1 t1
> >
> >
> >
> >
> >
> > Acho que é isso ... Ou algo bem parecido.
> >
> >
> >
> > Att
> >
> > Julio Sardenberg
> >
> >
> >
> >
> >
> > Em Ter, 7 de ago de 2018 17:59, Sofia Bonato de Moraes - EES <
> > sbonato em ees.com.br> escreveu:
> >
> > Boa tarde Pessoal,
> >
> >
> >
> > Tenho uma estrutura como segue:
> >
> > Tabela1:
> >
> > Lote       Produto
> >
> > 001         1
> >
> > 001         1
> >
> > 002         1
> >
> > 002         2
> >
> > 002         2
> >
> > 003         2
> >
> > 003         3
> >
> > 003         3
> >
> >
> >
> > Aí em uma outra tabela, com mesma estrutura (lote / Produto), eu tenho
> que
> > gravar o nr. do lote e o código do produto de maior incidência no lote (a
> > partir de um select na 1ª. Tabela), ficando:
> >
> > Lote       Produto
> >
> > 001         1
> >
> > 002         2
> >
> > 003         3
> >
> >
> >
> > Existe algum “pulo do gato” no firebird que permita isto de forma rápida?
> > (Ex.: Pegar a 1ª. Linha retornada de um grupo de totalização)?
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas:
> > http://www.firebase.com.br/pesquisa_lista.html
> >
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista