sql >> Database teknologi >  >> RDS >> Database

SQL VÆLG SUM

SQL Sum()-funktionen er en aggregeret funktion i SQL, der returnerer de samlede værdier af et udtryk. Udtrykket kan være numerisk, eller det kan være et udtryk.

Syntaks:

SELECT SUM(columnname) FROM table_name WHERE conditions;

Overvej de eksisterende tabeller, som har følgende poster:

Tabel:Medarbejdere

EMPLOYEEID FIRST_NAME LAST_NAME LØN BY AFDELING MANAGERID
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60.000 NOIDA C# 5
1003 NIKHIL VANI 50500 JAIPUR FMW 2
2001 PRACHI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50.000 MUMBAI C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA WANRE 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI TEST 4
4002 ASHWINI BAGHAT 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60.000 DELHI ORACLE 1
5001 ARCHIT SHARMA 55500 DELHI TEST 4

Eksempel 1: Skriv en forespørgsel, der summerer medarbejdernes samlede løn fra medarbejdernes tabel.

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

Sum-udtrykket vil vise summen af ​​den samlede løn. s

Output:

LØN
742000

Eksempel 2: Skriv en forespørgsel for at summere lønnen for medarbejdere, hvis by er Pune, fra medarbejdernes tabel.

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

Denne forespørgsel vil lave en sum af lønnen for de ansatte, hvis by er Pune.

Output:

BY LØN
PUNE 186500

Eksempel 3: Skriv en forespørgsel for at summere medarbejdernes løn fra medarbejdernes tabel over medarbejdere, hvis afdeling er Oracle.

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

Output:

AFDELING LØN
ORACLE 181000

Eksempel 4: Skriv en forespørgsel for at summere løn til medarbejdere fra medarbejdernes tabel, hvis afdeling omfatter oracle og FMW.

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

Output:

LØN
347500

Eksempel 4: Skriv en forespørgsel til opsummeret løn for medarbejdere fra medarbejderes tabel, hvis løn er større end 50.000, og byen omfatter Pune og Mumbai.

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

Output :

BY EMPLOYEE_SALARY
PUNE 119000
MUMBAI 186500

Eksempel 5: Skriv en forespørgsel for at summere løn for medarbejdere fra medarbejderes tabel, hvis løn er større end 50.000, eller by inkluderer Oracle, FMW og gruppe efter afdelingen.

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

Output:

AFDELING EMPLOYEE_SALARY
C# 60.000
FMW 166500
JAVA 168500
ORACLE 181000
TEST 116000

Eksempel 6: Skriv en forespørgsel for at opsummere medarbejdernes løn fra medarbejderens tabel ved hjælp af unikke byer for medarbejdere og gruppe for by.

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

Output:

BY EMPLOYEE_SALARY
CHANDIGARH 55500
DELHI 115500
JAIPUR 50500
MUMBAI 169000
NOIDA 114500
PUNE 121000

Eksempel 7: Skriv en forespørgsel for at opsummere lønnen for medarbejdere fra medarbejderens tabel, som har en unik afdeling og gruppe af afdelingen.

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

Output:

AFDELING EMPLOYEE_SALARY
C# 110.000
FMW 116000
JAVA 168500
ORACLE 181000
TEST 116000

Eksempel 8: Skriv en forespørgsel for at opsummere medarbejdernes løn fra medarbejderens tabel og grupper efter by, afdeling.

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

Output:

BY AFDELING EMPLOYEE_SALARY
CHANDIGARH ORACLE 55500
DELHI ORACLE 60.000
DELHI TEST 55500
JAIPUR FMW 101000
MUMBAI C# 50.000
MUMBAI JAVA 58500
MUMBAI TEST 60500
NOIDA C# 60.000
NOIDA JAVA 54500
PUNE FMW 65500
PUNE JAVA 55500
PUNE ORACLE 65500

Eksempel 9: Skriv en forespørgsel for at summere medarbejdernes løn fra medarbejderens tabelgruppe efter den by, hvor den samlede løn er større end 75.000.

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

Output:

BY LØN
DELHI 115500
JAIPUR 101000
MUMBAI 169000
NOIDA 114500
PUNE 186500

Som vi kan se, har det kun byer, hvor den samlede løn er større end 75.000.

Eksempel 10: Skriv en forespørgsel for at summere en medarbejders løn med en bærbar computer og grupper efter afdelingen.

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

Output:

AFDELING LØN
C# 60.000
JAVA 113000
ORACLE 60.000
TEST 55500

Eksempel 11: Skriv en forespørgsel for at summere medarbejdernes løn med bærbar computer og gruppe af afdelingen, hvor den samlede løn er større end 58.000.

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

Output:

AFDELING LØN
C# 60.000
JAVA 113000
ORACLE 60.000


  1. Min DBA er syg - Database Failover Tips til SysAdmins

  2. FEJL 2002 (HY000):Kan ikke oprette forbindelse til den lokale MySQL-server via socket '/var/run/mysqld/mysqld.sock' (2)

  3. Hvordan hjælper pgBouncer med at sætte fart på Django

  4. Returner tabeltype fra en funktion i PostgreSQL