Em 17 de julho de 2014 05:07, Flavio Henrique Araque Gurgel <
[email protected]> escreveu:

>
>
> Em 17-07-2014 00:50, Tiago José Adami escreveu:
>
>  Pessoal,
>>> >
>>> >Preciso de uma ajuda para tentar construir uma solução. Não tenho tanta
>>> >experiência em banco de dados, por isso resolvi pedir ajuda. Tentei
>>> >pesquisar nos tópicos, mas não encontrei nada parecido (posso ter
>>> passado
>>> >batido em alguma coisa). O caso é o seguinte:
>>> >
>>> >Tenho uma tabela com 60 indicadores, conforme exemplo abaixo:
>>> >
>>> >CREATE TABLE coleta
>>> >(
>>> >cdcoleta               BIGINT NOT NULL,
>>> >indicador1             NUMERIC (6),
>>> >indicador2             NUMERIC (6),
>>> >indicador3             NUMERIC (6)
>>> >         .
>>> >         .
>>> >         .
>>> >)
>>> >
>>> >Por uma necessidade de negócio, preciso criar uma view para classificar
>>> cada
>>> >um dos indicadores de acordo com os demais registros da coluna: (33%
>>> piores
>>> >dados e 33% melhores dados).
>>> >Como é uma tabela grande e para cada campo terei que ter duas
>>> referências,
>>> >estou me batendo para tentar encontrar uma solução que não fique tão
>>> pesada
>>> >(ainda não sei se será possível).
>>> >
>>> >Alguém teria alguma função ou dica de como fazer essa classificação de
>>> forma
>>> >não espartana?
>>> >
>>>
>> Não entendi exatamente o que você pretende fazer. Há algum problema em
>> criar uma view para cada análise de indicador? Que tipo de função de
>> classificação você procura?
>>
>
> Talvez o colega possa passar um exemplo do resultado que espera, uma vez
> que ele declara ter pouca experiência.
> Pode ser que a solução simples, então, é melhor entender direitinho.
>
>
Peço desculpas pela falta de clareza da minha parte. O exemplo é o seguinte:

Tabela existente:

  *Código* *Indicador1* *Indicador2*  1 1 21  2 2 22  3 3 23  4 4 24  5 5 25
6 6 26  7 7 27  8 8 28  9 9 29  10 10 30



View necessária

   *Indicador1-Ate33* *Indicador1-Acima66* *Indicador2-Ate33*
*Indicador2-Acima66*  3 7 23 27


*Ate33 - Valor máximo dos 33% piores registros.
*Acima66 - Valor mínimo dos 33% melhores registros

Essa tabela de indicadores possui quase 60 colunas e para cada uma dela
será necessário calcular os 33% dos piores e melhores resultados.

Desde já agradeço

Abs,
Luciano
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a