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

Sådan fungerer SQLite Min()

SQLite min() funktion returnerer den mindste ikke-NULL værdi fra alle værdier i en gruppe.

Minimumsværdien er den værdi, der vises først i en forespørgsel, der bruger en ORDER BY klausul i samme kolonne.

Eksempel

Her er et eksempel til at demonstrere.

SELECT min(Price) FROM Products;

Resultat:

89.27

Her er en forespørgsel, der returnerer alle rækker i den tabel.

SELECT * FROM Products 
ORDER BY Price;

Resultat:

ProductId   ProductName  Price     
----------  -----------  ----------
5           Red Widget             
3           Widget Open  89.27     
4           Foobar Set   120.0     
2           Widget Hold  139.5     
1           Blue Widget  389.45    

Bemærk, at den første række har en NULL-værdi for prisen. min() funktionen ignorerer det og bruger den mindste ikke-NULL værdi.

Kombiner Min() med Count()

Her er et eksempel, der kombinerer min() funktion med count() funktion for at returnere minimumantal.

SELECT min(AlbumCount) 
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);

Resultat:

1       

Vi kan bekræfte dette ved at køre en anden forespørgsel med en ORDER BY klausul.

SELECT 
  ar.Name, 
  count(al.Title) AS AlbumCount
FROM Album al
INNER JOIN Artist ar
ON ar.ArtistId = al.ArtistId
GROUP BY ar.Name
ORDER BY AlbumCount ASC
LIMIT 3;

Resultat:

Name                            AlbumCount
------------------------------  ----------
Aaron Copland & London Symphon  1         
Aaron Goldberg                  1         
Academy of St. Martin in the F  1         

Kombiner med Max() og Avg()

Her er et andet eksempel, hvor jeg tilføjer max() og avg() funktioner til blandingen.

SELECT 
  min(AlbumCount),
  max(AlbumCount),
  avg(AlbumCount)
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);

Resultat:

min(AlbumCount)  max(AlbumCount)  avg(AlbumCount) 
---------------  ---------------  ----------------
1                21               1.70098039215686

Brug af Min() på strenge

Som nævnt, min() returnerer den værdi, der ville blive returneret først ved hjælp af ORDER BY klausul (forudsat at den bruger standard stigende rækkefølge).

Det samme koncept gælder for strenge.

SELECT min(ProductName) FROM Products;

Resultat:

Blue Widgets (6 Pack)

Vi kan bekræfte dette resultat med en forespørgsel ved hjælp af ORDER BY klausul.

SELECT * FROM Products 
ORDER BY ProductName;

Resultat:

ProductId   ProductName            Price     
----------  ---------------------  ----------
1           Blue Widgets (6 Pack)  389.45    
4           Foobar Set             120.0     
5           Red Widget                       
2           Widget Holder          139.5     
3           Widget Opener          89.27     

  1. Vælg alt før eller efter en bestemt karakter i MariaDB

  2. Kan ikke få spring boot til automatisk at oprette databaseskema

  3. Er strengoperator "+" så enkel?

  4. Hvordan eksporterer man en mysql-database ved hjælp af kommandoprompt?