SQL е мощен и широко използван език за програмиране за съхранение, извличане и манипулиране на данни. Един от най-често използваните оператори в SQL е SUM – логическа операция, която произвежда сумата от всички стойности в колона. Тази статия ще обхване основите на използването на този оператор в заявките.
Защо имате нужда от SQL SUM?
Можете да използвате оператора SUM, за да изчислите общата цена на всички закупени артикули. Или можете да го приложите, за да намерите сбора от всички оценки на изпит или общия брой хора, присъствали на концерт. Това са само някои примери. В SQL функцията SUM може да бъде част от заявка, която ще доведе до множество резултати, като в оператора SELECT, който генерира суми на поръчката.
Може да изглежда скучно, но зависи изцяло от това за какво го използвате. Например, имате данни за заплатата на хората и трябва да знаете колко пари са похарчени за конкретен артикул. Или трябва да дефинирате някой, който е похарчил повече от $50 000 000 през определен период.
Тази статия ще ви покаже функцията на оператора SUM и как може да бъде полезна за вас.
Какво е SUM операторът в SQL точно?
Операторът SUM в SQL събира стойностите на всички посочени колони. По този начин той ще сумира стойностите и след това ще изведе едно число за всяка колона, която посочите.
Сумирането на всички стойности в една колона (или таблица) вероятно е една от най-често срещаните и добре познати операции в SQL.
Системите, които поддържат оператора SUM са MySQL, PostgreSQL, SQL Server и Oracle. Всичко това са най-добрите системи.
Как да използвам SQL функцията SUM?
Нека започнем с пример как да използваме SQL за сумиране на числови стойности. Функцията SUM в SQL ще групира всичките ви числа по тип и след това ще ги преброи, давайки ви общо за всеки тип.
За да го направите правилно, ще трябва да поставите вашите SUM в скоби (), когато групирате редовете с данни.
Синтаксисът е:
Sum([some columns])
Той взема всички данни в тези скоби и ги брои до едно число. Това наричаме събирането им в едно число.
Например, искате да изчислите общия брой хора, които работят във вашата компания. Това ще бъде както следва:
SELECT COUNT(*) FROM employees;
Функцията има три аргумента:
- израза
- име на колоната
- списъкът с константи или променливи, разделени със запетаи.
Ако искаме да намерим сумата от числата 2 и 3 с помощта на SQL, щяхме да напишем заявката:
SELECT SUM(2+3) AS 'Sum' FROM Numbers
Каква е разликата между функцията SQL SUM и SQL AVG?
Разликата между тези две агрегатни функции на SQL е, че функцията SQL AVG изчислява само средна стойност на всички стойности в колона. Функцията SUM връща сбора от всички стойности в колона.
Какво ще кажете за пример за SUM в SQL?
Ето нагледно изображение:
SUM OVER на Oracle – специфичен случай на употреба
Можете да намерите модификации на SUM на езици и екземпляри като този по-долу. Oracle СУМА НАД функцията изчислява сумата за всяка стойност в група от стойности. Това прави, като взема израз, оценява го за всички членове на групата и след това връща резултата, сякаш са сумирани.
Ключовата дума OVER указва кои редове трябва да включите в изчисленията. Също така е възможно да се зададат множество условия с различни нива на влагане чрез скоби.
Има ли нещо повече за SUM в SQL?
SUM е много по-гъвкав, отколкото просто да ви осигури общата сума. Например, можем да го комбинираме сWHERE и изчислете общите заплати на служителите със заплати над 100 000:
SELECT SUM(salary) AS "Total Salary"
FROM employees
WHERE salary > 100000;
Или приемете, че искате да разберете колко служители имат дадено умение. Можете да използвате този код:
SELECT COUNT(*)
FROM EMPLOYEE
WHERE SKILL = 'SQL';
Друг случай е използването на SQL SUM с GROUP BY :
SELECT department, SUM(sales) AS "Total sales"
FROM order_details
GROUP BY department;
Заключение
Операторът SUM в SQL е агрегатна функция, която извършва математическо сумиране на стойности. Това е чудесна малка функция, особено когато се използва с други оператори, и се поддържа от много популярни системи.
Обхватът на този оператор е огромен. Ще го използвате винаги, когато имате нужда от определена сума от определени стойности. Например, когато искате да разберете колко студенти в даден университет имат повече от 90% на изпитите си за класиране на университети, можете да използвате функцията SUM.