Как найти сумму в sql запросе

In this article, we will look into the process of querying the sum of all values in a column of a database table. But before finding the sum of all values in a column, let us create a table with some columns and data. In this article, we will be using the Microsoft SQL Server as our database. 

Creating a table :

Use the below syntax to create a table inside the database

Syntax :

create table table_name( column_name 1 data type ( size ) ,
        column_name 2 data type ( size) ,
          . . . . column_name n data type ( size ) )

For the sake of illustration, we will be creating a department table and operate on the same. The department table will have 3 fields namely deptid, deptname, totalemployees. To do so use the below statement:

CREATE TABLE department( deptid integer ,
                 deptname varchar(20) ,
                  totalemployees integer );

This will create the table. To insert values into the table we need to use the INSERT statement. So let us see add some data to the department table that we created:

Note: We have to insert values according to the table created. For example, we created a department table with deptid as integer, deptname as varchar, and totalemployees as an integer. So, we need to insert an integer, a character, and an integer respectively. 

Now let us insert some rows into the department table using the below query:

INSERT INTO department values(1,'IT',32);
INSERT INTO department values(2,'CSE',56);
INSERT INTO department values(1,'ECE',28);

Output:

Following the same pattern we have inserted some rows into the table, now let us print the data available in the table using the SELECT statement as shown below:

SELECT * FROM department;

Note: Here * represents all. If we execute this query, the entire table will be displayed.

Output :

Sum of all values in a column:

  • For this, we need to use the sum() function. We have to pass the column name as a parameter.
  • This sum() function can be used with the SELECT query for retrieving data from the table.
  • The below example shows to find the sum of all values in a column.

Example :

SELECT SUM(totalemployees) FROM department;

Output :

Conclusion: Using the sum() function we can get the sum of values in a column using the column name.

Last Updated :
13 Apr, 2021

Like Article

Save Article

В этом учебном материале вы узнаете, как использовать SQL функцию SUM с синтаксисом и примерами.

Описание

SQL функция SUM используется для возврата суммы выражения в операторе SELECT.

Синтаксис

Синтаксис для функции SUM в SQL.

SELECT SUM(aggregate_expression)
FROM tables
[WHERE conditions];

Или синтаксис для функции SUM при группировке результатов по одному или нескольким столбцам.

SELECT expression1, expression2, … expression_n,
SUM(aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, … expression_n;

Параметры или аргумент

expression1, expression2, … expression_n
Выражения, которые не инкапсулированы в функцию SUM и должны быть включены в предложение GROUP BY в конце SQL запроса
aggregate_expression
Это столбец или выражение, которое будет суммироваться
tables
Таблицы, из которых вы хотите получить записи. В предложении FROM должна быть указана хотя бы одна таблица
WHERE conditions
Необязательный. Это условия, которые должны быть выполнены для выбора записей

Пример — с одним выражением

Например, вы, возможно, захотите узнать, как совокупная общая зарплата всех сотрудников, чья зарплата превышает 25 000 долларов в год.

SELECT SUM(salary) AS «Total Salary»

  FROM employees

WHERE salary > 25000;

В этом примере SQL функции SUM мы присвоили псевдониму выражение SUM(salary) как «Total Salary». В результате «Total Salary» будет отображаться как имя поля при возврате набора результатов.

Пример — использование SQL DISTINC

Вы можете использовать SQL предложение DISTINCT в функции SUM. Например, приведенный ниже SQL оператор SELECT возвращает совокупный общий оклад с уникальными значениями окладов, где оклад превышает 25000 $ в год.

SELECT SUM(DISTINCT salary) AS «Total Salary»

  FROM employees

WHERE salary > 25000;

Если бы две зарплаты составляли 30000 $ в год, в SQL функции SUM использовалось бы только одно из этих значений.

Пример — использование формул

expressions, содержащееся в SQL функции SUM, необязательно должно быть одним полем. Вы также можете использовать формулу. Например, вам может потребоваться чистый доход для бизнеса. Чистый доход рассчитывается как общий доход за вычетом общих расходов.

SELECT SUM(income expenses) AS «Net Income»

  FROM gl_transactions;

Вы также можете выполнить математическую операцию в SQL функции SUM. Например, вы можете определить общую комиссию как 10% от общего объема продаж.

SELECT SUM(sales * 0.10) AS «Commission»

  FROM order_details;

Пример — использование SQL GROUP BY

В некоторых случаях вам потребуется использовать SQL оператор GROUP BY с функцией SUM.
Например, вы также можете использовать SQL функцию SUM для возврата названия отдела и общих продаж (в связанном отделе).

SELECT department,

       SUM(sales) AS «Total sales»

  FROM order_details

GROUP BY department;

Поскольку в SQL операторе SELECT указан один столбец, который не инкапсулирован в SQL функции SUM, необходимо использовать SQL оператор GROUP BY. Поэтому поле department должно быть указано в SQL операторе GROUP BY.

«SQL Последнее обновление 15 марта 2019 07:13:37 (UTC / GMT +8 часов)

script1adsense2code

script1adsense3code

SUM () функция

Функция SQL AGGREGATE SUM () возвращает сумму всех выбранных столбцов.

Синтаксис:

 СУММА (выражение [ALL | DISTINCT]) 

Поддержка СУБД: функция SUM ()

СУБД команда
MySQL поддержанный
PostgreSQL поддержанный
SQL Server поддержанный
оракул поддержанный

Синтаксис DB2 и Oracle:

 SUM ([ALL | DISTINCT] выражение) OVER (window_clause) 

Параметры:

название Описание
ВСЕ Относится ко всем значениям.
DISTINCT Вернуть сумму уникальных значений.
выражение Выражение состоит из одной константы, переменной, скалярной функции или имени столбца. Выражение является выражением категории точных числовых или приблизительных числовых типов данных, за исключением типа битовых данных. Агрегатные функции и подзапросы не допускаются.

Синтаксическая диаграмма — функция SUM ()

SQL SUM () на конкретном примере столбца

Чтобы получить общую сумму ‘advance_amount’ таблицы ‘orders’, можно использовать следующий оператор SQL:

Пример таблицы: заказы

Код SQL:

SELECT SUM(advance_amount) 
FROM orders;

Выход:

 СУММА (ADVANCE_AMOUNT)
-------------------
              19450

Иллюстрированная презентация:

«SQL

SQL SUM () на примере нескольких столбцов

Чтобы получить сумму значений ‘creation_amt’ и ‘receive_amt’ из таблицы ‘customer’, можно использовать следующий оператор SQL:

Образец таблицы: клиент

Код SQL:

SELECT SUM (opening_amt + receive_amt) 
FROM customer;

Выход:

 СУММА (OPENING_AMT + RECEIVE_AMT)
----------------------------
                      353000

SQL SUM () с где

В следующем примере мы обсудили использование предложения WHERE вместе с функцией SQL SUM () для суммирования одного или нескольких столбцов в соответствии с одним или несколькими условиями.

Пример:

Чтобы получить общую сумму ‘advance_amount’ таблицы ‘orders’ при следующем условии —

1. ‘agent_code’ должен быть ‘A003’,

можно использовать следующий оператор SQL:

Пример таблицы: заказы

Код SQL:

SELECT SUM (advance_amount) 
FROM orders 
WHERE agent_code ='A003';

Выход:

 СУММА (ADVANCE_AMOUNT)
-------------------
               1000

SQL SUM () с COUNT ()

В следующем примере мы обсудили использование SQL SUM () и SQL COUNT () вместе в операторе SQL SELECT. В связи с этим следует отметить, что SQL SUM () и SQL COUNT () оба возвращают одну строку.

Пример:

Чтобы получить данные ‘cust_country’, СУММ ‘opens_amt’ для каждого ‘cust_country’ и номера ‘cust_country’ из таблицы ‘customer’ при следующем условии —

1. данные должны быть группой ‘cust_country’,

можно использовать следующий оператор SQL:

Образец таблицы: клиент

Код SQL:

SELECT cust_country, SUM(opening_amt), 
COUNT(cust_country) 
FROM customer 
GROUP BY cust_country;

Выход:

 CUST_COUNTRY SUM (OPENING_AMT) COUNT (CUST_COUNTRY)
-------------------- ---------------- -------------- -----
США 18000 4
Индия 73000 10
Австралия 19000 3
Канада 25000 3
Великобритания 26000 5

Примечание. Выводы указанного оператора SQL, показанного здесь, взяты с использованием Oracle Database 10g Express Edition.

Вот слайд-презентация всех агрегатных функций.

Упражнения по SQL

  • Упражнения по SQL, практика, решение
  • SQL Получить данные из таблиц [33 Упражнения]
  • Булевы и реляционные операторы SQL [12 упражнений]
  • Подстановочные знаки SQL и специальные операторы [22 упражнения]
  • Агрегатные функции SQL [25 упражнений]
  • Вывод запроса форматирования SQL [10 упражнений]
  • SQL-запросы к нескольким таблицам [7 упражнений]
  • ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
  • SQL СОЕДИНЯЕТ
    • SQL СОЕДИНЯЕТСЯ [29 упражнений]
    • SQL присоединяется к базе данных HR [27 упражнений]
  • SQL ПОДПИСИ
    • ПОДПИСИ SQL [39 упражнений]
    • SQL ПОДПИСИ по базе данных HR [55 упражнений]
  • SQL Union [9 упражнений]
  • SQL View [16 упражнений]
  • Управление учетными записями пользователей SQL [16 упражнение]
  • База данных фильмов
    • ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
    • ПОДПИСКИ на фильм База данных [16 упражнений]
    • ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
  • Футбольная база
    • Вступление
    • ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
    • ПОДПИСКИ по футбольной базе данных [33 упражнения]
    • ПРИСОЕДИНЯЕТСЯ к запросам по футбольной базе данных [61 упражнений]
  • База данных больницы
    • Вступление
    • ОСНОВНЫЕ, ПОДПИСИ И СОЕДИНЕНИЯ [39 упражнений]
  • База данных сотрудников
    • ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
    • БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
  • Еще не все!

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущий: COUNT Имея и Группировать по
Далее: СУММА с использованием GROUP BY

The SQL SUM function can be used to add numbers together. Learn how to use it and see some examples in this article.

What is the SQL SUM Function?

The SUM function is used to add up the numbers in a specified column and return the total. It’s part of the SQL Standard so it’s available in all major databases (including Oracle, SQL Server, MySQL, and PostgreSQL).

It’s a common function when working with databases and often one of the first that we learn about.

You can use it as an aggregate function, which adds all of the numbers together, or as an analytic function, which adds numbers for specific groups together. We’ll see examples of both in this article

SQL SUM Syntax

Just like with the MAX function, you can use the SUM function as an aggregate function or an analytic function.

The syntax of SUM as an aggregate function is:

SUM ( [DISTINCT/ALL] expression)

The syntax of SUM as an aggregate function is:

SUM ( [DISTINCT/ALL] expression) OVER (analytic_clause)

Almost every time I’ve seen SUM used has been as an aggregate function.

Parameters

The parameters of the SUM function are:

  • expression (mandatory): The expression that is being included or looked at for the SUM function. This can be a column name, a set of values, or any other kind of valid SQL expression.
  • analytic_clause (optional): This is used when you’re using the SUM function as an analytic function. It works similar to grouping your SUM function, but it’s a bit different.

Here are some examples of the SUM function. I find that examples are the best way for me to learn about code, even with the explanation above.

First, let’s have a look at the STUDENT table which we’ll be using in this example.

SELECT * FROM student;

Result:

STUDENT_ID FIRST_NAME LAST_NAME FEES_REQUIRED FEES_PAID ENROLMENT_DATE
1 John Smith 500 100 01/FEB/2021
2 Susan Johnson 150 150 12/JAN/2021
3 Tom Capper 350 320 06/MAR/2021
4 Mark Holloway 500 410 20/JAN/2021
5 Steven Webber 100 80 09/MAR/2021
6 Julie Armstrong 100 0 12/FEB/2021
7 Michelle Randall 250 23/JAN/2021
8 Andrew Cooper 800 400 04/MAR/2021
9 Robert Pickering 110 100 30/JAN/2021
10 Tanya Hall 150 150 28/JAN/2021

Example 1 – Simple SUM

This example shows a simple SUM function on the entire table.

SELECT SUM(fees_paid)
FROM student;

Result:

SUM(FEES_PAID)
1710

This is the total of all fees_paid values in the table. The column header is the function and column, which isn’t easy to work with. Let’s see how we can improve that with a column alias in the next example.

Example 2 – Simple SUM with Alias

This example shows a simple SUM function on the entire table with a column alias.

SELECT SUM(fees_paid) AS SUM_FEES_PAID
FROM student;

Result:

SUM_FEES_PAID
1710

This is the total of all fees_paid values in the table.

Example 3 – SUM with WHERE

This example uses the WHERE clause to only shoe the SUM of fees_paid where it is not equal to fees_required.

SELECT SUM(fees_paid) AS SUM_FEES_PAID
FROM student
WHERE fees_paid <> fees_required;

Result:

SUM_FEES_PAID
1410

Example 4 – SUM with GROUP BY

This example shows how to use the SUM function with GROUP BY.

SELECT EXTRACT(MONTH FROM enrolment_date) AS ENROLMENT_MONTH,
SUM(fees_paid) AS SUM_FEES_PAID
FROM student
GROUP BY EXTRACT(MONTH FROM enrolment_date);

Result:

ENROLMENT_MONTH SUM_FEES_PAID
1 810
2 100
3 800

It uses the EXTRACT function to get the enrolment month, and then group by this value. It finds the SUM of fees_paid for each enrolment month.

Example 5 – SUM with a Formula

This example uses a formula within the SUM function to find out how much tax is needed, based on a 10% tax rate.

SELECT SUM(fees_paid) AS SUM_FEES_PAID,
SUM(fees_paid * 0.1) AS SUM_TAX
FROM student;

Result:

SUM_FEES_PAID SUM_TAX
1710 171

Example 6 – SUM with Multiple Columns

This example uses the SUM function on multiple columns

SELECT SUM(fees_required - fees_paid) AS FEES_OWING
FROM student;

Result:

FEES_OWING
1050

Example 7 – SUM with OVER, or SUM as an Analytic Function

This example uses the SUM OVER PARTITION BY to show how SUM can be used as an analytic function.

SELECT
first_name,
last_name,
EXTRACT(MONTH FROM enrolment_date) AS ENROLMENT_MONTH,
SUM(fees_paid) OVER (PARTITION BY (EXTRACT(MONTH FROM enrolment_date))) AS FEES_MONTH
FROM student;

Result;

FIRST_NAME LAST_NAME ENROLMENT_MONTH FEES_MONTH
Robert Pickering 1 810
Susan Johnson 1 810
Mark Holloway 1 810
Tanya Hall 1 810
Michelle Randall 1 810
John Smith 2 100
Julie Armstrong 2 100
Andrew Cooper 3 800
Tom Capper 3 800
Steven Webber 3 800

The SUM value is the sum of all fees_paid for the enrolment month, as shown earlier. It is shown for each student, so it is repeated several times.

Example 8 – SUM DISTINCT

This example shows how you can use the SUM function with DISTINCT.

SELECT SUM(fees_paid) AS SUM_ALL_FEES,
SUM(DISTINCT fees_paid) AS SUM_DISTINCT_FEES
FROM student;

Result:

SUM_ALL_FEES SUM_DISTINCT_FEES
1710 1460

The results show the SUM function with and without the DISTINCT keyword.

What Does SUM OVER or SUM OVER PARTITION Do?

There is a clause on the SUM function called OVER. This allows you to use it as an analytic function.

What does that even mean?

It means you can perform the SUM function on a group of records, separate from a GROUP BY statement.

For example, you may want to list all employees, their salary, and the SUM of the salary values for all employees in their department. This is what the OVER clause can let you do.

Can You SUM DISTINCT Values?

Yes, you can SUM the DISTINCT values.

SELECT SUM(DISTINCT col) would SUM the distinct values of col. This may be what you are looking for.

If you want to SUM one column based on the distinct values of another column, you may want to use a subquery to get the distinct values, and then perform a SUM.

See the Examples section for an example of how to use SUM with distinct values.

Do You Need To Use GROUP BY with SUM?

Not always. You only need to use it if you are selecting fields that are not included in the aggregate function.

So, if you are just using SELECT SUM(col), then you don’t need a group by.

If you are using SELECT col1, SUM(col2) then you need to group by col1.

Can You SUM Multiple Columns?

Yes, you can perform the SUM function on multiple columns.

You can include them within the SUM function, such as SUM(col1 + col2).

See the Examples section for more information.

Similar Functions

Some functions which are similar to the SUM function are:

  • MIN – This function gets the lowest of the supplied expression. It’s the opposite of the MAX function.
  • MAX – This function gets the highest of the supplied expression. It’s the opposite of the MIN function.
  • AVG – This function gets the average value of a supplied expression.
  • COUNT – This function counts the values supplied.

You can find a full list of Oracle SQL functions here. Other function lists are coming soon.

totn SQL


This SQL tutorial explains how to use the SQL SUM function with syntax and examples.

Description

The SQL SUM function is used to return the sum of an expression in a SELECT statement.

Syntax

The syntax for the SUM function in SQL is:

SELECT SUM(aggregate_expression)
FROM tables
[WHERE conditions];

OR the syntax for the SUM function when grouping the results by one or more columns is:

SELECT expression1, expression2, ... expression_n,
       SUM(aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n;

Parameters or Arguments

expression1, expression2, … expression_n
Expressions that are not encapsulated within the SUM function and must be included in the GROUP BY clause at the end of the SQL statement.
aggregate_expression
This is the column or expression that will be summed.
tables
The tables that you wish to retrieve records from. There must be at least one table listed in the FROM clause.
WHERE conditions
Optional. These are conditions that must be met for the records to be selected.

Example — With Single Expression

For example, you might wish to know how the combined total salary of all employees whose salary is above $25,000 / year.

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

In this SQL SUM Function example, we’ve aliased the SUM(salary) expression as «Total Salary». As a result, «Total Salary» will display as the field name when the result set is returned.

Example — Using SQL DISTINCT

You can use the SQL DISTINCT clause within the SQL SUM function. For example, the SQL SELECT statement below returns the combined total salary of unique salary values where the salary is above $25,000 / year.

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

If there were two salaries of $30,000/year, only one of these values would be used in the SQL SUM function.

Example — Using Formula

The expression contained within the SQL SUM function does not need to be a single field. You could also use a formula. For example, you might want the net income for a business. Net Income is calculated as total income less total expenses.

SELECT SUM(income - expenses) AS "Net Income"
FROM gl_transactions;

You might also want to perform a mathematical operation within the SQL SUM function. For example, you might determine total commission as 10% of total sales.

SELECT SUM(sales * 0.10) AS "Commission"
FROM order_details;

Example — Using SQL GROUP BY

In some cases, you will be required to use the SQL GROUP BY clause with the SQL SUM function.

For example, you could also use the SQL SUM function to return the name of the department and the total sales (in the associated department).

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

Because you have listed one column in your SQL SELECT statement that is not encapsulated in the SQL SUM function, you must use the SQL GROUP BY clause. The department field must, therefore, be listed in the SQL GROUP BY section.

Понравилась статья? Поделить с друзьями:
  • Как найти видео с юными
  • Как найти видео на lenovo
  • Как найти постоянный плюс на магнитолу
  • Как найти луиса солянка
  • Как найти высоту целиндра