Mysql AVG函数 与手动sum 再除 count求出的平均值不一致问题
SELECT
IF (
AVG(`VALUE`) IS NULL,
0,
AVG(`VALUE`)
) AS avgValue
FROM
t_src_rtdb
WHERE
`NAME` = 'CZ3-A999'
AND (
SECONDS > 1351632073
AND SECONDS < 1351718473
)
AND `value` >= 0.50000000
AND `value` <= 5.00000000
得到的平均值为:2.8075127382092875
使用下面的语句:
SELECT count(*) from t_src_rtdb where `NAME` = 'CZ3-A999'' AND (SECONDS >= 1351632073 AND SECONDS < 1351718473) AND `VALUE` >=0.50000000 and `VALUE` <= 5.00000000;
SELECT sum(`VALUE`) from t_src_rtdb where `NAME` = 'CZ3-A999'' AND (SECONDS >= 1351632073 AND SECONDS < 1351718473) AND `VALUE` >=0.50000000 and `VALUE` <= 5.00000000;
得到数据分别为:
1440,4042.703461289406 两数相除等于:2.80743296 小数点4位以后的数字完全不一样了。
这是为什么呢?哪个算法是最准确的?
相关推荐
使用MySQL中的AVG函数求平均值的教程
主要介绍了使用MySQL中的AVG函数求平均值的教程,是Python入门学习中的基础知识,需要的朋友可以参考下
MySQL 分组查询和聚合函数
概述 相信我们经常会遇到这样的场景:想要了解双十一天猫购买化妆品的人员中平均消费额度是多少(这可能有利于对商品价格区间的定位);或者不同年龄段的化妆品消费占比是多少(这可能有助于对商品备货量的预估)。 这个时候就要用到分组查询,分组查询的目的是为了把数据分成多个逻辑组(购买化妆品的人员是一个组,不同年龄段购买化妆品的人员也是组),并对每个组进行聚合计算的过程:。 分组查询的语法格式如下: select cname, group_fun,... from tname [where condition] group by group_expression [having group_con
详细解读MySQL中COUNT函数的用法
主要介绍了详细解读MySQL中COUNT函数的用法,是MySQL入门学习中的基础知识,需要的朋友可以参考下
Mysql中的count()与sum()区别详细介绍
本文将介绍Mysql中的count()与sum()区别,需要的朋友可以参考下
MySQL 常用函数总结
前言: MySQL数据库中提供了很丰富的函数,比如我们常用的聚合函数,日期及字符串处理函数等。SELECT语句及其条件表达式都可以使用这些函数,函数可以帮助用户更加方便的处理表中的数据,使MySQL数据库的功能更加强大。本篇文章主要为大家介绍几类常用函数的用法。 1.聚合函数 聚合函数是平时比较常用的一类函数,这里列举如下: COUNT(col) 统计查询结果的行数 MIN(col) 查询指定列的最小值 MAX(col) 查询指定列的最大值 SUM(col) 求和,返回指定列的总和 AVG(col) 求平均值,返回指定列数据的平均值 2.数值型函数 数


