sql >> Databáze >  >> RDS >> Database

Jak používat funkci SQL SUM

SQL je výkonný a široce používaný programovací jazyk pro ukládání, vyhledávání a manipulaci s daty. Jedním z nejčastěji používaných operátorů v SQL je SUM – logická operace, která vytváří součet všech hodnot ve sloupci. Tento článek pokryje základy použití tohoto operátora v dotazech.

Proč potřebujete SQL SUM?

Pomocí operátoru SUM můžete vypočítat celkovou cenu všech zakoupených položek. Nebo jej můžete použít k nalezení součtu všech známek na zkoušce nebo celkového počtu lidí, kteří se zúčastnili koncertu. To jsou jen některé příklady. V SQL může být funkce SUM součástí dotazu, který poskytne více výsledků, jako v příkazu SELECT, který vytváří součty objednávek.

Může se to zdát nudné, ale zcela záleží na tom, k čemu to používáte. Máte například podrobnosti o platu lidí a potřebujete vědět, kolik peněz bylo utraceno za konkrétní položku. Nebo potřebujete definovat někoho, kdo během určitého období utratil více než 50 000 000 $.

Tento článek vám ukáže funkci operátora SUM a jak pro vás může být užitečný.

Co je přesně operátor SUM v SQL?

Operátor SUM v SQL sečte hodnoty všech zadaných sloupců. Sečte tedy hodnoty a poté vydá jedno číslo pro každý sloupec, který zadáte.

Sečtení všech hodnot do jednoho sloupce (nebo tabulky) je pravděpodobně jednou z nejběžnějších a nejznámějších operací v SQL.

Systémy, které podporují operátor SUM, jsou MySQL, PostgreSQL, SQL Server a Oracle. To vše jsou nejlepší systémy.

Jak používat funkci SQL SUM?

Začněme příkladem, jak použít SQL k sečtení číselných hodnot. Funkce SUM v SQL seskupí všechna vaše čísla podle typu a poté je spočítá, takže pro každý typ získáte jeden součet.

Abyste to udělali správně, musíte při seskupování řádků dat uvést své SUMY do závorek ().

Syntaxe je:

Sum([some columns])

Vezme všechna data v těchto závorkách a spočítá je do jednoho čísla. To je to, co nazýváme jejich sečtením do jednoho čísla.

Chcete například vypočítat celkový počet lidí, kteří pracují ve vaší společnosti. Bude to následující:

SELECT COUNT(*) FROM employees; 

Funkce má tři argumenty:

  • výraz
  • název sloupce
  • seznam konstant nebo proměnných oddělených čárkami.

Pokud bychom chtěli najít součet čísel 2 a 3 pomocí SQL, zadali bychom dotaz:

SELECT SUM(2+3) AS 'Sum' FROM Numbers

Jaký je rozdíl mezi funkcí SQL SUM a SQL AVG?

Rozdíl mezi těmito dvěma agregačními funkcemi SQL je v tom, že funkce SQL AVG vypočítává pouze průměr všech hodnot ve sloupci. Funkce SUM vrací součet všech hodnot ve sloupci.

Co takhle příklad SUM v SQL?

Zde je vizuál:

Oracle's SUM OVER – konkrétní případ použití

Úpravy SUM v jazycích a instancích, jako je tento, najdete níže. Oracle PŘEČET SOUČTU funkce vypočítá součet pro každou hodnotu ve skupině hodnot. Dělá to tak, že vezme výraz, vyhodnotí ho na všech členech skupiny a pak vrátí výsledek, jako by byly sečteny.

Klíčové slovo OVER určuje, které řádky je třeba zahrnout do výpočtů. Je také možné zadat více podmínek s různými úrovněmi vnoření pomocí závorek.

Je v SQL k SUM ještě něco?

SUM je mnohem flexibilnější, než jen získat něco jako celek. Můžeme to například zkombinovat s KDE a vypočítat součet platů zaměstnanců s platy nad 100 000:

SELECT SUM(salary) AS "Total Salary"
FROM employees
WHERE salary > 100000;

Nebo předpokládejme, že chcete zjistit, kolik zaměstnanců má danou dovednost. Můžete použít tento kód:

SELECT COUNT(*) 
FROM EMPLOYEE 
WHERE SKILL = 'SQL';

Dalším případem je použití SQL SUM s GROUP BY :

SELECT department, SUM(sales) AS "Total sales"
FROM order_details
GROUP BY department;

Závěr

Operátor SUM v SQL je agregační funkce, která provádí matematický součet hodnot. Je to šikovná malá funkce, zvláště při použití s ​​jinými operátory, a je podporována mnoha populárními systémy.

Rozsah tohoto operátora je obrovský. Použili byste ho, kdykoli potřebujete určitý součet určitých hodnot. Chcete-li například zjistit, kolik studentů na jedné dané univerzitě dosáhlo ve zkouškách více než 90 % k hodnocení univerzit, můžete použít funkci SUM.


  1. Metoda upgradu není volána v android sqlite

  2. Příkazy MySQL INSERT nebo REPLACE

  3. Uložená procedura MySQL vs funkce, kterou bych kdy použil?

  4. MySQL 'user_id' ve kterém je klauzule nejednoznačný problém