我在 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)
注意:上面是示例数据,我们有数千行的实际数据。
最佳答案
计算 SUM(RowData)/#Rows
是 RowData
的平均值 - 这已经作为 AVG
聚合函数得到原生支持:
select AVG(AcctSessionTime)
from radacct
where UserName='spatel' AND SipResponseCode='200';
如果需要,您还可以使用 GROUP BY
语句进行分组平均
关于MySQL查询总和结果除以行数(平均),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30672016/