Selezione di valori distinti da tre colonne con il massimo di un quarto in cui sono presenti duplicati
Domanda
Ho una tabella con un valore numerico (n) e tre valori di stringa (a, b, c). Come posso interrogare questa tabella in modo da ottenere solo valori distinti di (a, b, c) e se ci sono duplicati, prendere il massimo dell'insieme corrispondente di n valori?
Soluzione
select max(n), a, b, c
from mytable
group by a, b, c
Altri suggerimenti
Usa GROUP BY
:
select a, b, c, max(n)
from table
group by a, b, c;
Questo mostrerà solo insiemi univoci o distinti di a, b, c
e mostrerà il n
massimo trovato in quell'insieme.
MAX
è una funzione aggregata progettata per l'uso con GROUP BY
. Altre funzioni aggregate potenzialmente utili includono MIN
, AVERAGE
e COUNT
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow