Прежде чем комментировать, я не создавал эту базу данных с значениями, разделенными запятыми :) Я потратил время, пытаясь найти ответ, но все, что я мог найти, это GROUP_CONCAT(), который, казалось, выполнял напротив того, что я хотел.MySQL GROUP BY каждое значение, разделенное запятой
Я хотел бы GROUP BY каждое из значений в поле значений, разделенных запятыми.
SELECT round(avg(DATEDIFF(dateClosed , dateAded) * 1.0), 2) AS avg, department
FROM tickets GROUP BY assignedto
поле assignedto представляет собой разделенные запятой поле Значение
row1 54,69,555
row2 54,75,555
row3 75,555
требуемый выход: средний скругленный показатель для каждого значения в поле assignedto сгруппированных.
EDIT - ПЫТАЯ ПРИНИМАТЬ ЭТО НА СЛЕДУЮЩИЙ УРОВЕНЬ: Я хочу включить таблицу ответов на билет, чтобы получить первый ответ на этот билет, используйте поле datetime, чтобы определить среднее время отклика для каждого пользователя.
SELECT a.id as theuser, round(avg(DATEDIFF(ta.dateAded , t.dateAded) * 1.0), 2) as avg
FROM tickets t join
mdl_user a
on find_in_set(a.id, t.assignedto) > 0
INNER JOIN (SELECT MIN(ta.dateAded) as started FROM ticketanswer GROUP BY ta.ticketId) ta ON t.id = ta.ticketId
GROUP BY a.id ORDER BY avg ASC
Ваш вопрос не очень ясен. Попытайтесь отправить по некоторым образцовым данным вашей таблицы билетов и желаемым выходным данным, пожалуйста. –
Преобразуйте csv's ('assingnto') обратно в строки? [11100501/расщепленным разделенного запятыми-значение из-один-к-колонки-2-строка-в-результаты MySQL] (https://stackoverflow.com/questions/11100501/split-comma-separated- значения-from-one-column-to-2-rows-in-the-results-mysql) –
Создайте таблицу с идентификатором билетов и отдельными значениями. Если билеты имеют время модификации, то и одно. [Для разделения строки см. Здесь] (http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/). Будь проще. –