我现在遇到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名用户,这是我看到这种情况发生的第一次。
答案 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)部分的情况下运行它,看看结果是什么,也许一些英雄数据就是问题所在。也许你有一个字符串或其他东西。你究竟得到什么回复?有错误吗?