PostgreSQL - AVG Function



PostgreSQL AVG function is used to find out the average of a field in various records.

To understand the AVG function, consider the table COMPANY having records as follows −

testdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

Now, based on the above table, suppose you want to calculate the average of all the SALARY, then you can do so by using the following command −

testdb=# SELECT AVG(SALARY) FROM COMPANY;

The above given PostgreSQL statement will produce the following result −

        avg
 ------------------
  37142.8571428571
(1 row)

You can take athe verage of various records set using the GROUP BY clause. The following example will take the average of all the records related to a single person and you will have the average salary of each person.

testdb=# SELECT name, AVG(SALARY) FROM COMPANY GROUP BY name;
  name  |  avg
 -------+-------
  Teddy | 20000
  Paul  | 20000
  Mark  | 65000
  David | 85000
  Allen | 15000
  Kim   | 45000
  James | 10000
(7 rows)
postgresql_useful_functions.htm
Advertisements