MySQL查询总和结果除以行数(平均值)

Sat*_*ish 2 mysql sql linux syntax

我有以下数据,MySQL我想求和(总计),然后除以行数。

例子:

我想对AcctSessionTime列中的所有数字求和并将其除以项目数,因此在我们的情况下, 6+4+3+31=44将它们除以 4 个行数。

我如何制作查询以在单个查询中完成所有操作?

mysql> select AcctStartTime,AcctStopTime,AcctSessionTime 
       from radacct 
       where UserName='spatel' AND SipResponseCode='200';
+---------------------+---------------------+-----------------+
| AcctStartTime       | AcctStopTime        | AcctSessionTime |
+---------------------+---------------------+-----------------+
| 2015-06-04 15:32:03 | 2015-06-04 15:32:09 |               6 |
| 2015-06-04 16:11:27 | 2015-06-04 16:11:31 |               4 |
| 2015-06-04 16:13:37 | 2015-06-04 16:13:40 |               3 |
| 2015-06-05 11:44:31 | 2015-06-05 11:45:02 |              31 |
+---------------------+---------------------+-----------------+
4 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

注意:上面是示例数据,我们有数千行的实际数据。

Stu*_*tLC 5

计算SUM(RowData) / #Rows是一个平均值RowData- 这已经作为AVG聚合函数被原生支持:

select AVG(AcctSessionTime) 
from radacct 
where UserName='spatel' AND SipResponseCode='200';
Run Code Online (Sandbox Code Playgroud)

GROUP BY如果需要,您还可以使用语句进行分组平均值