Database
 sql >> Database >  >> RDS >> Database

Come trovare i valori massimi nelle righe

Problema:

Vuoi trovare quali righe memorizzano il valore numerico più grande in una determinata colonna.

Esempio:

Il nostro database ha una tabella chiamata student con i dati nelle seguenti colonne:id , first_name , last_name e grade .

id nome cognome grado
1 Lisa Jackson 3
2 Gary Larry 5
3 Tom Michelin 2
4 Martin Barker 2
5 Elli Nero 5
6 Maria Simpson 4

Troviamo gli studenti che hanno i voti più alti.

Soluzione:

SELECT  id, first_name, last_name, grade
FROM student
WHERE grade = (SELECT MAX(grade) FROM student);

Ecco il risultato:

id nome cognome grado
2 Gary Larry 5
5 Elli Nero 5

Discussione:

Per trovare il valore massimo di una colonna, usa MAX() funzione aggregata; ci vuole un nome di colonna o un'espressione per trovare il valore massimo. Nel nostro esempio, la sottoquery restituisce il numero più alto nella colonna voto (sottoquery:SELECT MAX(grade) FROM student ). La query principale mostra id, nome e cognome e il loro voto. Per visualizzare solo le righe con il valore massimo tra tutti i valori nella colonna (ad es. SELECT MAX(grade) FROM student ), usa WHERE con una sottoquery. In WHERE, inserisci il nome della colonna con il valore confrontabile con il valore restituito dalla funzione di aggregazione nella sottoquery (nel nostro esempio:WHERE grade = (SELECT MAX(grade) FROM student) ).