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

Как да добавите само отделните стойности с SQLite Sum()

В SQLite, Sum() функцията приема незадължителен DISTINCT ключова дума, която ви позволява да добавяте само отделните стойности в групата. Тоест премахва всички дубликати от изчислението си.

Така че, ако има да кажем три реда, които съдържат 10, само един от тези редове ще бъде включен в резултатите.

Синтаксис

Синтаксисът при използване на DISTINCT ключовата дума върви така:

Sum(DISTINCT X)

Където X е името на колоната, за която добавяте стойности.

Пример

Помислете за следната таблица, наречена Products :

ProductId   ProductName    Price     
----------  -------------  ----------
1           Widget Holder  139.5     
2           Blue Widget    10.0      
3           Red Widget     10.0      
4           Green Widget   10.0      
5           Widget Stick   89.75     
6           Foo Cap        11.99     

По-долу е даден пример за получаване на отделната сума от всички цени.

SELECT Sum(DISTINCT Price) 
FROM Products;

Резултат:

251.24

Ето го отново, но този път включвам и „неразличима“ sum() за сравнение.

SELECT 
  Sum(Price),
  Sum(DISTINCT Price) 
FROM Products;

Резултат:

Sum(Price)  Sum(DISTINCT Price)
----------  -------------------
271.24      251.24             

Така че неразличимата sum(Price) добави всички стойности, независимо от дубликатите. Но sum(DISTINCT Price) добави само отделните стойности.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PowerManager.PARTIAL_WAKE_LOCK android

  2. SQLite агрегатни функции

  3. Добра практика ли е да се използва ContentProvider за обработка на операции с база данни?

  4. 2 примерни бази данни за SQLite

  5. SQLite JSON_VALID()