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

Jak działa SQLite Total()

W SQLite total() funkcja zwraca sumę wszystkich wartości innych niż NULL w grupie.

Jeśli nie ma wartości innych niż NULL, zwraca 0.0.

Ta funkcja jest podobna do sum() funkcji, z wyjątkiem sposobu, w jaki obsługuje wejścia NULL. Jeśli nie ma wartości innych niż NULL, sum() zwraca NULL (zamiast 0.0 jak total() funkcja powraca).

Przykład

Rozważ poniższą tabelę.

SELECT * FROM Products;

Wynik:

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

Możemy użyć total() funkcja, aby uzyskać sumę cen.

SELECT total(Price) FROM Products;

Wynik:

738.22

Mimo że cena ostatniego wiersza wynosi NULL, total() funkcja może sobie z tym poradzić, ponieważ dodaje wszystkie wartości inne niż NULL i ignoruje wartość NULL.

Wszystkie wartości NULL

Jeśli nie ma wartości innych niż NULL, wynikiem jest 0.0.

SELECT total(Price) 
FROM Products
WHERE ProductId = 5;

Wynik:

0.0      

To tutaj total() i sum() różnić się. W tym przypadku sum() zwróciłby NULL.

total() funkcja zawsze zwraca wartość zmiennoprzecinkową.

Pamiętaj jednak, że nie jest to zgodne ze standardem SQL. Jeśli chcesz użyć kodu zgodnego ze standardem, użyj sum() .

Uzyskaj sumę podzbioru

Oto kolejny przykład, który używa WHERE klauzula zwracająca podzbiór tabeli.

SELECT total(Price) 
FROM Products
WHERE ProductId > 2;

Wynik:

209.27

Tym razem dodaje wartości różne od NULL, więc otrzymuję wynik inny niż NULL.

Oto kolejny, który filtruje według tej samej kolumny, którą dodaję.

SELECT total(Price) 
FROM Products
WHERE Price < 150;

Wynik:

348.77 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite - Zmień tabelę

  2. sqlite:jak dodać całkowity czas gg:mm:ss gdzie typ danych kolumny to DATETIME?

  3. java.util.MissingFormatArgumentException:Specyfikator formatu:s

  4. Android Room Embedded Relation ignoruje SQL, gdzie warunek

  5. SQLite Node.js