Я пытаюсь выполнить этот запрос, но я получил эту ошибку "Неправильное использование групповой функции". Также пробовал group by Año, Mes, Turno;
и тот же результат.
Также я хочу умножить THEN на 100, чтобы получить результат в процентах, я должен сделать это на той же строке THEN или в конце перед AS?
select year(c.start) as Año, month(c.start) as Mes, s.name as Turno,
SUM(
CASE
WHEN u.name ='Jorge Robles Ruiz'
THEN SUM(TIMESTAMPDIFF(SECOND,c.start,c.end)/3600) /
SUM(TIMESTAMPDIFF(SECOND,s.startTime,s.endTime)/3600)
ELSE 0
END
) AS 'Jorge Robles Ruiz',
SUM(
CASE
WHEN u.name ='Ricardo Jarquín'
THEN SUM(TIMESTAMPDIFF(SECOND,c.start,c.end)/3600) /
SUM(TIMESTAMPDIFF(SECOND,s.startTime,s.endTime)/3600)
ELSE 0
END
) AS 'Ricardo Jarquín'
from `cicles` as `c`
inner join `users` as `u` on `u`.`id` = `c`.`opId` and `u`.`companies_id` = `c`.`companies_id`
inner join `shifts` as `s` on `s`.`id` = `c`.`shiftId` and `s`.`companies_id` = `c`.`companies_id`
where `c`.`start`
between 2018-12-01 and 2019-01-11
and `c`.`opId` in (1, 2)
and `s`.`visible` = 1
and `c`.`companies_id` = 1
and `c`.`status` = 1
group by year(c.start), month(c.start), s.name;
Спасибо, ребята!
PD. Извините за мой плохой английский.