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

Sådan finder du maksimale værdier i rækker

Problem:

Du ønsker at finde, hvilke rækker der gemmer den største numeriske værdi i en given kolonne.

Eksempel:

Vores database har en tabel ved navn student med data i følgende kolonner:id , first_name , last_name , og grade .

id fornavn efternavn karakter
1 Lisa Jackson 3
2 Gary Larry 5
3 Tom Michelin 2
4 Martin Barker 2
5 Ellie Sort 5
6 Mary Simpson 4

Lad os finde de elever, der har de højeste karakterer.

Løsning:

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

Her er resultatet:

id fornavn efternavn karakter
2 Gary Larry 5
5 Ellie Sort 5

Diskussion:

For at finde den maksimale værdi af en kolonne, brug MAX() aggregeret funktion; det kræver et kolonnenavn eller et udtryk for at finde den maksimale værdi. I vores eksempel returnerer underforespørgslen det højeste tal i kolonnekarakteren (underforespørgsel:SELECT MAX(grade) FROM student ). Hovedforespørgslen viser id, for- og efternavn og deres karakter. For kun at vise rækkerne med den maksimale værdi blandt alle værdier i kolonnen (f.eks. SELECT MAX(grade) FROM student ), brug WHERE med en underforespørgsel. I WHERE skal du sætte navnet på kolonnen med den sammenlignelige værdi med den værdi, der returneres af den samlede funktion i underforespørgslen (i vores eksempel:WHERE grade = (SELECT MAX(grade) FROM student) ).


  1. Udfør en dynamisk krydstabuleringsforespørgsel

  2. Hvordan implementerer man SQLite-database til at gemme bitmapbillede og tekst?

  3. De 9 mest almindelige databasedesignfejl

  4. SQL Server 2016:View Designer