mysql avg()没有按预期工作

时间:2010-10-21 11:14:06

标签: mysql average

我现在遇到MySql的问题。我的查询工作正常,我正在使用它一段时间,但今天我对此感到困惑。

查询是:

select avg(valor), tipo_id, users_id, datetime from entries where users_id = '1' and tipo_id = 1 and date_format(datetime,"%Y-%m-%d") between "'2010-09-20" and "2010-10-20" and date_format(datetime,"%h:%i") between "11:59" and "18:59" and excluded= 'n'

查询返回valor字段的avg值,没关系。但是,当我将users_id值更改为635时,我无法获得avg()值。我有这个users_id的一些数据,它们适合日期时间范围。

我真的不知道我的查询可能出现什么问题,而且有近700名用户,这是我看到这种情况发生的第一次。

2 个答案:

答案 0 :(得分:0)

尝试添加GROUP BY users_id

select avg(valor), tipo_id, users_id, datetime from entries
where
    users_id = '1'
    and
    tipo_id = 1
    and
    date_format(datetime,"%Y-%m-%d") between "'2010-09-20" and "2010-10-20"
    and
    date_format(datetime,"%h:%i") between "11:59" and "18:59"
    and
    excluded= 'n'
GROUP BY users_id

答案 1 :(得分:0)

在没有avg(valor)部分的情况下运行它,看看结果是什么,也许一些英雄数据就是问题所在。也许你有一个字符串或其他东西。你究竟得到什么回复?有错误吗?