Seleccionar os valores distintos de três colunas com o máximo de uma quarta onde existirem duplicados
Pergunta
I tem uma mesa com um valor numérico (n) e três valores de cadeia (a, b, c). Como faço para consultar esta tabela para que eu recebo apenas valores distintos de (a, b, c) e se há duplicatas, tomar o máximo do conjunto de n valores correspondentes?
Solução
select max(n), a, b, c
from mytable
group by a, b, c
Outras dicas
Use GROUP BY
:
select a, b, c, max(n)
from table
group by a, b, c;
Isto irá mostrar apenas conjuntos exclusivos ou distintos de a, b, c
e mostrar o n
máxima encontrada nesse conjunto.
MAX
é uma função de agregação projetado para uso com GROUP BY
. Outras funções agregadas potencialmente úteis incluem MIN
, AVERAGE
e COUNT
.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow