在任何人评论之前,我没有用逗号分隔值设计这个数据库:) 我花了时间试图找到答案,但我能找到的所有东西都是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字段的每个值。
编辑 - 尝试将此项纳入下一级别: 我想包含机票答案表以获得该机票的第一个响应,使用其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
你的问题不是很清楚。尝试张贴您的票据表的一些样本数据和所需的输出数据。 – 2014-12-04 11:50:12
将csv('assingnto')转换回行吗? [11100501 /分逗号分隔值从 - 一列对2-行-内式结果的MySQL的](https://stackoverflow.com/questions/11100501/split-comma-separated-值从一列到二行的结果mysql) – 2014-12-04 11:57:55
创建一个包含票证ID和单个值的表格。如果门票持有修改时间,那也是。 [用于分割字符串,请参阅此处](http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/)。把事情简单化。 – 2014-12-04 12:05:43