Database
 sql >> Baza danych >  >> RDS >> Database

SQL WYBIERZ SUMA

Funkcja SQL Sum() jest funkcją agregującą w języku SQL, która zwraca łączne wartości wyrażenia. Wyrażenie może być liczbowe lub może być wyrażeniem.

Składnia:

SELECT SUM(columnname) FROM table_name WHERE conditions; 

Rozważ istniejące tabele, które mają następujące rekordy:

Tabela:Pracownicy

ID PRACOWNIKA FIRST_NAME LAST_NAME WYNAGRODZENIE MIASTO DZIAŁ IDENTYFIKATOR KIEROWCY
1001 VAIBHAVI MISHRA 65500 PUNE WYROCZNIA 1
1002 VAIBHAV SHARMA 60000 NOIDA C# 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACI SHARMA 55500 CZANDIGAR WYROCZNIA 1
2002 PRZYJMUJ SIĘ JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50000 MUMBAJ C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAJ JAVA 3
4001 RAJESH GOUD 60500 MUMBAJ TESTOWANIE 4
4002 ASHWINI TORBA 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60000 DELHI WYROCZNIA 1
5001 ARCHIT SHARMA 55500 DELHI TESTOWANIE 4

Przykład 1: Napisz zapytanie sumujące łączną pensję pracowników z tabeli pracowników.

SELECT SUM (SALARY) AS 'SALARY' FROM EMPLOYEES;

Wyrażenie Sum wyświetli sumę całkowitego wynagrodzenia. s

Wyjście:

WYNAGRODZENIE
742000

Przykład 2: Napisz zapytanie, aby zsumować wynagrodzenie pracowników, których miasto to Pune z tabeli pracowników.

SELECT CITY, SUM(SALARY) AS 'SALARY'  FROM EMPLOYEES WHERE CITY = 'PUNE';

To zapytanie spowoduje zsumowanie pensji pracowników z miasta Pune.

Wyjście:

MIASTO WYNAGRODZENIE
PUNE 186500

Przykład 3: Napisz zapytanie, aby zsumować wynagrodzenie pracowników z tabeli pracowników pracowników, których działem jest Oracle.

SELECT DEPARTMENT, SUM(SALARY) AS 'SALARY'  FROM EMPLOYEES WHERE DEPARTMENT = 'ORACLE';

Wyjście:

DZIAŁ WYNAGRODZENIE
WYROCZNIA 181000

Przykład 4: Napisz zapytanie sumujące wynagrodzenie pracowników z tabeli pracowników, których dział obejmuje oracle i FMW.

SELECT SUM(SALARY) AS 'SALARY'  FROM EMPLOYEES WHERE DEPARTMENT IN ('ORACLE', 'FMW');

Wyjście:

WYNAGRODZENIE
347500

Przykład 4: Napisz zapytanie do sumarycznej pensji pracowników z tabeli pracowników, których pensja jest większa niż 50000, a miasto obejmuje Pune i Bombaj.

SELECT CITY, SUM(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 50000 AND CITY IN ('PUNE', 'MUMBAI') GROUP BY CITY;

Wyjście :

MIASTO EMPLOYEE_SALARY
PUNE 119000
MUMBAJ 186500

Przykład 5: Napisz zapytanie sumujące pensje pracowników z tabeli pracowników, których wynagrodzenie jest większe niż 50000 lub miasto zawiera Oracle, FMW i pogrupuj według działu.

SELECT DEPARTMENT, SUM(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 50000 OR DEPARTMENT IN ('ORACLE', 'FMW') GROUP BY DEPARTMENT;

Wyjście:

DZIAŁ EMPLOYEE_SALARY
C# 60000
FMW 166500
JAVA 168500
WYROCZNIA 181000
TESTOWANIE 116000

Przykład 6: Napisz zapytanie, aby zsumować wynagrodzenie pracowników z tabeli pracowników, używając unikalnych miast pracowników i grupując je według miasta.

SELECT CITY, SUM(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY CITY;

Wyjście:

MIASTO EMPLOYEE_SALARY
CZANDIGAR 55500
DELHI 115500
JAIPUR 50500
MUMBAJ 169000
NOIDA 114500
PUNE 121000

Przykład 7: Napisz zapytanie sumujące wynagrodzenie pracowników z tabeli pracowników, którzy mają unikalny dział i pogrupowane według działu.

SELECT DEPARTMENT, SUM(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY DEPARTMENT;

Wyjście:

DZIAŁ EMPLOYEE_SALARY
C# 110000
FMW 116000
JAVA 168500
WYROCZNIA 181000
TESTOWANIE 116000

Przykład 8: Napisz zapytanie, aby zsumować wynagrodzenie pracowników z tabeli pracownika i pogrupować według miasta, działu.

SELECT CITY, DEPARTMENT, SUM(SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY CITY, DEPARTMENT;

Wyjście:

MIASTO DZIAŁ EMPLOYEE_SALARY
CZANDIGAR WYROCZNIA 55500
DELHI WYROCZNIA 60000
DELHI TESTOWANIE 55500
JAIPUR FMW 101000
MUMBAJ C# 50000
MUMBAJ JAVA 58500
MUMBAJ TESTOWANIE 60500
NOIDA C# 60000
NOIDA JAVA 54500
PUNE FMW 65500
PUNE JAVA 55500
PUNE WYROCZNIA 65500

Przykład 9: Napisz zapytanie sumujące wynagrodzenie pracowników z grupy tabel pracowników według miasta, w którym łączna pensja jest większa niż 75000.

SELECT CITY, SUM(SALARY) AS SALARY FROM EMPLOYEES GROUP BY CITY HAVING SUM(SALARY) > 75000;

Wyjście:

MIASTO WYNAGRODZENIE
DELHI 115500
JAIPUR 101000
MUMBAJ 169000
NOIDA 114500
PUNE 186500

Jak widać, ma tylko miasta, w których łączne zarobki przekraczają 75000.

Przykład 10: Napisz zapytanie, aby zsumować wynagrodzenie pracownika z laptopem i pogrupować według działu.

SELECT DEPARTMENT, SUM(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT;

Wyjście:

DZIAŁ WYNAGRODZENIE
C# 60000
JAVA 113000
WYROCZNIA 60000
TESTOWANIE 55500

Przykład 11: Napisz zapytanie, aby zsumować wynagrodzenie pracowników z laptopem i pogrupować według działu, w którym łączne wynagrodzenie jest większe niż 58000.

SELECT DEPARTMENT, SUM(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT HAVING SUM(SALARY) > 58000;

Wyjście:

DZIAŁ WYNAGRODZENIE
C# 60000
JAVA 113000
WYROCZNIA 60000


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać klauzuli zbiorczego zbierania PL/SQL z instrukcją FETCH INTO?

  2. Wskazówki dotyczące wydajności XML

  3. Zarządzanie rolami i statusami w systemie

  4. Klauzula SQL UNION dla początkujących

  5. Potencjalne ulepszenia ASPState