如何计算100万个数据的平均值?MySQL的AVG函数了解下

计算十几个数字的平均数,我们可以用算数公式求出结果;
计算成百上千个数字的平均数,我们还可以利用Excel函数公式得出结果。
但是,现在已经是大数据时代,数据量动不动就上百万、千万。而Excel行列数有限制,例如2010版Excel最多只有1048576行、16384列,无法满足大量数据处理和分析的需求。
假设,现在有100万个毫无规律可言的数字,怎么求出它们的平均数?
这就需要借助数据库来实现数据的高效存储、处理、分析。常见的数据库有Oracle、Microsoft SQL Server、MySQL、Microsoft Access等。
MySQL是目前世界范围内使用得非常广泛得一种数据库软件,用MySQL的AVG函数就可以实现计算100万个数据平均值的任务。
AVG()函数语法:
AVG(DISTINCT expression)
AVG()函数句型:
SELECT AVG(column_name) FROM table_name
AVG()函数例句:
从EMPLOYEE_TBL表中获取dialy_typing_pages的平均值
SELECT AVG(daily_typing_pages)FROM employee_tbl
EMPLOYEE_TBL表记录:
mysql> 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)
计算所有的dialy_typing_pages的平均值:
mysql> SELECT AVG(daily_typing_pages)
-> FROM employee_tbl;
+-------------------------+
| AVG(daily_typing_pages) |
+-------------------------+
| 230.0000 |
+-------------------------+
1 row in set (0.03 sec)
怎么样,是不是很简单?MySQL除了计算平均数,还有很多其它函数,非常实用。而且,你不需要具备编程基础,只要会这个函数句型就行了。下次吊车尾学院教大家如何安装、下载MySQL,想学的同学举爪!
不过,用MySQL计算这么大的数据量,速度会有点慢。如果你计划认真学习数据分析,就不得不学Python,它入门门槛比SQL高,但一旦学会,处理数据的效率会大大提升。