How to get the sum for every distinct value in another column in MySQL?


You can get the sum for every distinct value in another column with the help of aggregate function SUM() with GROUP BY command. To understand the above concept, let us create a table. The query to create a table is as follows:

mysql> create table SumOfEveryDistinct
   -> (
   -> Id int not null,
   -> Amount int
   -> );
Query OK, 0 rows affected (0.59 sec)

Insert some records in the table using insert command. The query is as follows:

mysql> insert into SumOfEveryDistinct values(10,100);
Query OK, 1 row affected (0.19 sec)
mysql> insert into SumOfEveryDistinct values(11,200);
Query OK, 1 row affected (0.20 sec)
mysql> insert into SumOfEveryDistinct values(12,300);
Query OK, 1 row affected (0.14 sec)
mysql> insert into SumOfEveryDistinct values(10,400);
Query OK, 1 row affected (0.20 sec)
mysql> insert into SumOfEveryDistinct values(11,500);
Query OK, 1 row affected (0.10 sec)
mysql> insert into SumOfEveryDistinct values(12,600);
Query OK, 1 row affected (0.13 sec)
mysql> insert into SumOfEveryDistinct values(10,700);
Query OK, 1 row affected (0.10 sec)
mysql> insert into SumOfEveryDistinct values(11,800);
Query OK, 1 row affected (0.18 sec)
mysql> insert into SumOfEveryDistinct values(12,900);
Query OK, 1 row affected (0.19 sec)

Display all records from the table using select statement. The query is as follows:

mysql> select *from SumOfEveryDistinct;

The following is the output:

+----+--------+
| Id | Amount |
+----+--------+
| 10 |    100 |
| 11 |    200 |
| 12 |    300 |
| 10 |    400 |
| 11 |    500 |
| 12 |    600 |
| 10 |    700 |
| 11 |    800 |
| 12 |    900 |
+----+--------+
9 rows in set (0.00 sec)

Here is the query to sum every distinct value in another column:

mysql> select Id, sum(Amount) as TotalSum from SumOfEveryDistinct
   -> group by Id;

The following is the output:

+----+----------+
| Id | TotalSum |
+----+----------+
| 10 |     1200 |
| 11 |     1500 |
| 12 |     1800 |
+----+----------+
3 rows in set (0.00 sec)

Updated on: 30-Jul-2019

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements