これは私が試しているクエリです。
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;