SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak działa SQLite Min()

SQLite min() funkcja zwraca minimalną wartość różną od NULL ze wszystkich wartości w grupie.

Minimalna wartość to wartość, która pojawiłaby się jako pierwsza w zapytaniu używającym ORDER BY klauzula w tej samej kolumnie.

Przykład

Oto przykład do zademonstrowania.

SELECT min(Price) FROM Products;

Wynik:

89.27

Oto zapytanie, które zwraca wszystkie wiersze w tej tabeli.

SELECT * FROM Products 
ORDER BY Price;

Wynik:

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    

Zauważ, że pierwszy wiersz ma wartość NULL dla ceny. min() funkcja ignoruje to i używa minimalnej wartości innej niż NULL.

Połącz Min() z Count()

Oto przykład, który łączy min() funkcja z count() funkcja zwracająca minimalną liczbę.

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

Wynik:

1       

Możemy to zweryfikować, uruchamiając inne zapytanie z ORDER BY klauzula.

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;

Wynik:

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

Połącz z Max() i Avg()

Oto kolejny przykład, w którym dodaję max() i avg() funkcje do miksu.

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

Wynik:

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

Używanie Min() na ciągach

Jak wspomniano, min() zwraca wartość, która byłaby zwrócona jako pierwsza przy użyciu ORDER BY klauzula (zakładając, że używa domyślnej kolejności rosnącej).

Ta sama koncepcja dotyczy ciągów.

SELECT min(ProductName) FROM Products;

Wynik:

Blue Widgets (6 Pack)

Możemy zweryfikować ten wynik za pomocą zapytania przy użyciu ORDER BY klauzula.

SELECT * FROM Products 
ORDER BY ProductName;

Wynik:

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
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 sposoby na wygenerowanie skryptu CREATE TABLE z istniejącej tabeli w SQLite

  2. Jak działa SQLite Avg()

  3. Utwórz nową tabelę w istniejącej bazie danych w oddzielnej klasie SQLiteOpenHelper

  4. załaduj spinner danych z sqlite i mysql

  5. Kiedy wywoływana jest metoda SQLiteOpenHelper onCreate?