Это запрос, который я пытаюсь.MySQL count() не возвращает правильный номер
select
UserId,
count(e.UserId) as 'Experiments',
count(t.TaskId) as 'Tasks tried',
count(case when t.TaskStatus = 'Completed' then t.TaskStatus end) as 'Tasks completed',
sec_to_time(avg(timediff(TaskLocalUserEndDateTime,TaskLocalUserStartDateTime))) as 'Average Time'
from
Tasks as t,
Experiments as e
where
t.ExperimentId = e.ExperimentId
and
e.UserId = e.UserId
group by
UserId;
count(e.UserId)
дает тот же результат, как и count(t.TaskId)
, что неправильно. Но count()
возвращает правильные результаты, если я выполнить запрос без какого-либо соединений, например:
select
count(UserId)
from
Experiments
where
UserId = UserId
group by
UserId;
Остальная часть запроса работает и создает желаемый набор результатов? – kabuto178
Да, остальные столбцы содержат допустимые значения. Только столбец 'count (e.UserId)' имеет неправильные значения. –
пожалуйста, отправьте образец данных. –