#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
Step 6
3 min read

SUM & COUNT

Learn how to count rows and add up numbers in SQL.

Sample Data

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

We'll use this students table for all examples:

What is COUNT?

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

COUNT tells you how many rows you have. Like counting students in a classroom.

SELECT COUNT(*) FROM students;

Result: 5 (if you have 5 students)

What is SUM?

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

SUM adds up numbers. Like adding prices in a shopping cart.

SELECT SUM(age) FROM students;

Result: 106 (if ages are 20+22+21+23+20)

How They Work

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

Basic Syntax

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows
-- Count all rows SELECT COUNT(*) FROM table_name; -- Add up a column SELECT SUM(column_name) FROM table_name;

COUNT with WHERE

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

Count only matching rows:

-- How many students are older than 20? SELECT COUNT(*) FROM students WHERE age > 20; -- How many got grade A? SELECT COUNT(*) FROM students WHERE grade = 'A';

SUM with WHERE

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

Add up only matching rows:

-- Total age of grade A students SELECT SUM(age) FROM students WHERE grade = 'A';

Using Aliases

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

Give your result a nice name:

SELECT COUNT(*) AS total_students FROM students; SELECT SUM(age) AS total_age FROM students;

COUNT DISTINCT

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

Count unique values only:

-- How many different grades exist? SELECT COUNT(DISTINCT grade) FROM students;

If grades are A, B, A, C, B, A → Result: 3 (A, B, C)

Combine Both

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

Use COUNT and SUM together:

SELECT COUNT(*) AS total_students, SUM(age) AS total_age FROM students;

Try It Below

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

Use the playground to practice:

  • SELECT COUNT(*) FROM students;
  • SELECT SUM(age) FROM students;
  • SELECT COUNT(*) FROM students WHERE grade = 'A';

What Comes Next

students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows

Next: Learn AVG (average) and MIN/MAX functions.

Try COUNT & SUM

Count rows or add numbers. Try: SELECT SUM(age) FROM students;

Source Table: students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows
SQL Editor
Loading...

COUNT with WHERE

Count only grade A students. Try: SELECT COUNT(*) FROM students WHERE grade = 'A';

Source Table: students
idnameagegrade
1Alice20A
2Bob22B
3Charlie21A
4David23B
4 rows
SQL Editor
Loading...

Finished this topic?

Mark it complete to track your progress and maintain your streak!