mysql avg () не работает должным образом - PullRequest
0 голосов
/ 21 октября 2010

У меня сейчас проблемы с 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'

Запрос возвращает среднее значение для поля доблести, это нормально. Но когда я изменяю значение users_id на 635, я не могу получить значение avg (). У меня есть некоторые данные с этим users_id, и они соответствуют диапазону даты и времени.

Я действительно не знаю, что может быть не так с моим запросом, и почти с 700 пользователями это первый раз, когда я вижу, что это происходит.

Ответы [ 2 ]

0 голосов
/ 21 октября 2010

Запустите его без части avg (valor), посмотрите, каковы результаты, может быть, проблема в некоторых данных доблести Может быть, у вас есть строка или что-то еще. И что именно вы получите в ответ? Любая ошибка?

0 голосов
/ 21 октября 2010

Попробуйте добавить 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
...