SQL - Función AVG

SQL AVG La función se utiliza para averiguar el promedio de un campo en varios registros.

Comprender AVG función, considere una employee_tbl tabla, que tiene los siguientes registros:

SQL> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
|    1 | John | 2007-01-24 |                250 |
|    2 | Ram  | 2007-05-27 |                220 |
|    3 | Jack | 2007-05-06 |                170 |
|    3 | Jack | 2007-04-06 |                100 |
|    4 | Jill | 2007-04-06 |                220 |
|    5 | Zara | 2007-06-06 |                300 |
|    5 | Zara | 2007-02-06 |                350 |
+------+------+------------+--------------------+
7 rows in set (0.00 sec)

Ahora suponga que, basándose en la tabla anterior, desea calcular el promedio de todas las páginas_de_tipo_dial, luego puede hacerlo usando el siguiente comando

SQL> SELECT AVG(daily_typing_pages)
    -> FROM employee_tbl;
+-------------------------+
| AVG(daily_typing_pages) |
+-------------------------+
|                230.0000 |
+-------------------------+
1 row in set (0.03 sec)

Puede tomar el promedio de varios registros establecidos usando GROUP BYcláusula. El siguiente ejemplo tomará el promedio de todos los registros relacionados con una sola persona y tendrá el promedio de páginas mecanografiadas por cada persona.

SQL> SELECT name, AVG(daily_typing_pages)
   -> FROM employee_tbl GROUP BY name;
+------+-------------------------+
| name | AVG(daily_typing_pages) |
+------+-------------------------+
| Jack |                135.0000 |
| Jill |                220.0000 |
| John |                250.0000 |
| Ram  |                220.0000 |
| Zara |                325.0000 |
+------+-------------------------+
5 rows in set (0.20 sec)
sql-funciones-útiles.htm