Jump to content
Fórum Script Brasil
  • 0

Moda no PostgreSQL


Question

Boa tarde pessoal, sou novato no PostgreSQL e gostaria de uma ajuda se possível.
Preciso de um SELECT onde me retorne o que mais se repete em uma linha, vamos supor:


coluna_descricao                                                                         coluna_resultado_select
bom,ruim,ótimo,regular,ruim,ruim,ótimo,regular                        ruim

ruim,ótimo,regular,ótimo                                                             ótimo

regular,bom,regular,ruim,regular,ótimo                                      regular

...                                                                                                   ...

Alguém pode me ajudar?

Abraço!
Cláudio

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Observe a consulta abaixo:

SELECT CODSUBGRUPO, COUNT(*) AS QUANTIDADE,
 CASE
   WHEN COUNT(*) < 298 THEN 'RUIM'
   WHEN COUNT(*) > 297 AND COUNT(*) < 595 THEN 'REGULAR'
   WHEN COUNT(*) > 594 AND COUNT(*) < 892 THEN 'BOM'
   WHEN COUNT(*) > 891 THEN 'ÓTIMO'
 END AS NOTA
FROM C000025
GROUP BY CODSUBGRUPO
HAVING COUNT(*) > 1

-> Está bem próximo do que você está querendo. Todavia, eu já sabia que a maior contagem de CODSUBGRUPO é 1.190. Sendo 4 as faixas de resultado (RUIM, REGULAR, BOM e ÓTIMO), fiz o cálculo abaixo:

1.190 / 4 = 297,5.

Estabeleci o valor 297 para cada faixa e fiz a atribuição às faixas no CASE que cabe a cada parte.

Para ter um resultado ideal, essa consulta deveria estar dentro de uma STORED PROCEDURE para poder separar as contagens de cada faixa (RUIM, REGULAR, BOM e ÓTIMO) e, ao final, exibir o resultado.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149193
    • Total Posts
      645450
×
×
  • Create New...