AFAIK в последних версиях MySQL добавлена поддержка оконных функций. Похоже, что эти функции могут быть использованы для решения вашей проблемы. Я не проверял это, но он будет использоваться примерно так:
SELECT
`condition`, `trial`, `group`, `subject`, `behaviour`,
`duration`,
SEC_TO_TIME(SUM(TIME_TO_SEC(`duration`))) OVER (PARTITION BY condition`, `trial`, `group`, `subject`, `behaviour`) AS timeSum
FROM `tests`;
В любом случае, для более старых версий MySQL вам может подойти следующее:
SELECT
`condition`,
`trial`,
`group`,
`subject`,
`behaviour`,
`duration`, SEC_TO_TIME(SUM(TIME_TO_SEC(`duration`)))
FROM `tests`
GROUP BY `condition`, `trial`,`group`, `subject`,`behaviour`;
но таким образом вы потеряете "детали". Чтобы повторить, как работают оконные функции, вам нужно использовать что-то вроде:
SELECT `t1`.`condition`, `t1`.`trial`,`t1`.`group`, `t1`.`subject`,`t1`.`behaviour`, `t2`.`duration`,`t1`.`totalTime` FROM (SELECT
`condition`,
`trial`,
`group`,
`subject`,
`behaviour`,
`duration`, SEC_TO_TIME(SUM(TIME_TO_SEC(`duration`))) AS totalTime
FROM `tests` AS subt1
GROUP BY `condition`, `trial`,`group`, `subject`,`behaviour`) AS t1
JOIN `tests` AS t2 USING (`condition`, `trial`,`group`, `subject`,`behaviour`);
Вот фрагмент кода, с которым я играл: http://sqlfiddle.com/#!9/e002f2/12/0