sql >> Database >  >> RDS >> SQLite

Hoe SQLite Min() werkt

De SQLite min() functie retourneert de minimale niet-NULL-waarde van alle waarden in een groep.

De minimumwaarde is de waarde die als eerste zou verschijnen in een zoekopdracht die gebruikmaakt van een ORDER BY clausule in dezelfde kolom.

Voorbeeld

Hier is een voorbeeld om te demonstreren.

SELECT min(Price) FROM Products;

Resultaat:

89.27

Hier is een zoekopdracht die alle rijen in die tabel retourneert.

SELECT * FROM Products 
ORDER BY Price;

Resultaat:

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    

Merk op dat de eerste rij een NULL-waarde heeft voor de prijs. De min() functie negeert dat en gebruikt de minimale niet-NULL-waarde.

Combineer Min() met Count()

Hier is een voorbeeld dat de min() . combineert functie met de count() functie om het minimumaantal terug te geven.

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

Resultaat:

1       

We kunnen dit verifiëren door een andere zoekopdracht uit te voeren met een ORDER BY clausule.

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;

Resultaat:

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

Combineer met Max() en Avg()

Hier is nog een voorbeeld waarbij ik de max() . toevoeg en avg() functies aan de mix.

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

Resultaat:

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

Min() gebruiken op strings

Zoals vermeld, min() geeft de waarde terug die als eerste zou worden geretourneerd met de ORDER BY clausule (ervan uitgaande dat het de standaard oplopende volgorde gebruikt).

Ditzelfde concept is van toepassing op snaren.

SELECT min(ProductName) FROM Products;

Resultaat:

Blue Widgets (6 Pack)

We kunnen dit resultaat verifiëren met een zoekopdracht met de ORDER BY clausule.

SELECT * FROM Products 
ORDER BY ProductName;

Resultaat:

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. Database-e-mailberichten verwijderen uit de msdb-database in SQL Server (T-SQL)

  2. Hoe werkt GROUP BY?

  3. MySQL op Azure Performance Benchmark – ScaleGrid vs. Azure Database

  4. KIES * UIT meerdere tabellen. MySQL