SQLite
 sql >> база данни >  >> RDS >> SQLite

Как работи SQLite Total().

В SQLite, total() функцията връща сумата от всички стойности, различни от NULL в група.

Ако няма стойности, различни от NULL, тогава той връща 0.0.

Тази функция е подобна на sum() функция, с изключение на начина, по който обработва NULL входове. Когато няма стойности, различни от NULL, тогава sum() връща NULL (вместо 0.0 като total() функция се връща).

Пример

Помислете за следната таблица.

SELECT * FROM Products;

Резултат:

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                    

Можем да използваме total() функция за получаване на общата сума на цените.

SELECT total(Price) FROM Products;

Резултат:

738.22

Въпреки че цената на последния ред е NULL, total() функцията може да се справи с това, защото добавя всички стойности, различни от NULL, и игнорира стойността NULL.

Всички NULL стойности

Ако няма стойности, различни от NULL, тогава резултатът е 0.0.

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

Резултат:

0.0      

Това е мястото, където total() и sum() различават. В този случай sum() би върнал NULL.

total() функцията винаги връща стойност с плаваща запетая.

Имайте предвид обаче, че това не отговаря на стандарта SQL. Ако искате да използвате стандартен съвместим код, използвайте sum() .

Вземете общата сума на подмножество

Ето още един пример, който използва WHERE клауза за връщане на подмножество от таблицата.

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

Резултат:

209.27

Този път добавя стойности, различни от NULL, така че получавам резултат, различен от NULL.

Ето още един, който филтрира по същата колона, която добавям.

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

Резултат:

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. Свързване на таблици с помощта на база данни за стаи в Android Studio

  2. Sqlite не вмъква данни във 2-ра таблица

  3. ПРИКАЧЕТЕ sqlite база данни в Android с SQLiteOpenHelper

  4. ако моята таблица има 4 колони и искам да извлека 3-тата колона какво да правя.

  5. Robolectric достъп до базата данни хвърля грешка