मुख्य सामग्री पर जाएं
eLearner.app
मॉड्यूल 2 · पाठ 4 का 4पाठ्यक्रम में 8/57~8 min
मॉड्यूल पाठ (4/4)

गिनती और सारांश: गिनती, औसत, अधिकतम

So far every SELECT returned one row for each row of the table. Aggregate functions do the opposite: they read many rows and return a single value that summarises them.

The most common ones are:

  • COUNT(*) — how many rows there are.
  • AVG(column) — the average of numeric values (ignores NULL).
  • MAX(column) / MIN(column) — the maximum / minimum value.
  • SUM(column) — the sum of numeric values.
SQL
SELECT COUNT(*),
       AVG(salary),
       MAX(salary)
FROM employees;

When the aggregate is applied to the whole table (without GROUP BY, which you will see in the next module) the result is a single row, regardless of how many rows the source table has.

Combining with WHERE

WHERE filters before aggregation: the aggregate only works on the rows that passed the filter.

SQL
-- Stipendio medio dei soli dipendenti del Marketing (department_id = 3):
SELECT AVG(salary)
FROM employees
WHERE department_id = 3;

Try it

व्यायाम#sql.m2.l4.e1
प्रयास: 0लोड हो रहा है...

How many employees have been hired since January 1, 2020? Return a single number (one row, one column).

संपादक लोड हो रहा है...
संकेत दिखाएँ

The function that counts rows is COUNT(*).

3 प्रयासों के बाद समाधान उपलब्ध है

Review exercise

व्यायाम#sql.m2.l4.e2
प्रयास: 0लोड हो रहा है...

In a single query, compute the average (AVG) and maximum (MAX) salary of employees in Marketing (department_id = 3). One row, two columns.

संपादक लोड हो रहा है...
संकेत दिखाएँ

You can put several aggregate functions in the same SELECT, separated by commas.

3 प्रयासों के बाद समाधान उपलब्ध है