sql >> Databáze >  >> RDS >> SQLite

SQLite SUM

Shrnutí :v tomto tutoriálu se naučíte používat SQLite SUM funkce pro výpočet součtu všech hodnot.

Úvod do SQLite SUM funkce

SUM funkce je agregační funkce, která vrací součet hodnot, které nejsou NULL, nebo pouze odlišné hodnoty ve skupině.

Následující výraz ilustruje syntaxi SUM funkce:

SUM([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)

SUM funkce používá ALL klauzule standardně. Znamená to, že při SUM jsou brány v úvahu všechny vstupní hodnoty, duplicitní nebo ne funkce provede výpočet.

Pokud chcete vypočítat součet jedinečných hodnoty, musíte zadat DISTINCT klauzule výslovně ve výrazu.

Výsledek SUM funkce je celé číslo, pokud všechny vstupní hodnoty jiné než NULL jsou celá čísla. Pokud jakákoliv vstupní hodnota není ani celé číslo, ani NULL hodnota, výsledek SUM funkce je hodnota s plovoucí desetinnou čárkou.

Výsledek SUM funkce je NULL když a jen tehdy všechny vstupní hodnoty jsou NULL .

V případě, že dojde k chybě přetečení celého čísla a všechny vstupní hodnoty jsou NULL nebo celá čísla, SUM funkce vyvolá výjimku přetečení celého čísla.

SQLite SUM příklady funkcí

Použijeme tracks tabulky ve vzorové databázi pro ukázku.

Chcete-li získat celkovou délku všech stop v tracks tabulky, použijete SUM fungovat jako následující příkaz:

SELECT
   SUM(milliseconds)
FROM
   tracks;Code language: SQL (Structured Query Language) (sql)

Zkuste to

SQLite SUM funkce s GROUP BY klauzule

Chcete-li vypočítat celkovou délku každého alba, musíte použít SUM pomocí funkce GROUP BY doložka.

Nejprve GROUP BY klauzule seskupuje sadu skladeb podle alb. Poté SUM funkce vypočítá součet délek stop na album.

Následující prohlášení ilustruje myšlenku:

SELECT
   AlbumId,
   SUM(milliseconds)
FROM
   tracks
GROUP BY
   AlbumId;Code language: SQL (Structured Query Language) (sql)

Zkuste to

SQLite SUM funkce a INNER JOIN příklad klauzule

Chcete-li do výstupu zahrnout názvy alb, spojte tracks tabulky do albums pomocí INNER JOIN doložka takto:

SELECT
   tracks.albumid,
   title, 
   SUM(milliseconds)
FROM
   tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
   tracks.albumid, 
   title;Code language: SQL (Structured Query Language) (sql)

Zkuste to

SQLite SUM funkce a HAVING příklad klauzule

Můžete použít SUM funkce v HAVING klauzule k filtrování skupin na základě zadané podmínky.

Například následující příkaz získá všechna alba, jejichž celková délka je větší než 1 000 000 milisekund:

SELECT
   tracks.albumid AlbumId,
   Title,
   SUM(milliseconds)
FROM
   tracks
INNER JOIN albums ON albums.albumid= tracks.albumid
GROUP BY
   tracks.albumid, 
   title
HAVING
	SUM(milliseconds) > 1000000;Code language: SQL (Structured Query Language) (sql)

Zkuste to

V tomto tutoriálu jsme vám představili SQLite SUM funkce, která vrací součet hodnot ve skupině.


  1. Kde získám zdroj libpq?

  2. Jak se připojit k MySQL pomocí Perlu

  3. Výběr prvního řádku na skupinu

  4. Tabulka popisu SQLite