我有一个问题,我们有trac postgresql db(版本8.4),我们需要根据故障单中的标签(关键字)以及在这些故障单上花费的组时间来获取工作日志。
这是我的疑问:
select round(sum(wl.endtime-wl.starttime)/3600.0, 2) AS sum_of_hours,
string_to_array(t.keywords, ',') AS keywords
from work_log AS wl
JOIN ticket AS t ON t.id = wl.ticket
where t.keywords SIMILAR TO '%SWA.IMPLEMENTATION%'
GROUP BY t.keywords
HAVING string_to_array(t.keywords, ',') @> ARRAY['SWA.IMPLEMENTATION'];
输出结果为:
sum_of_hours | keywords
--------------+------------------------------
950.08 | {Running,SWA.IMPLEMENTATION}
11.00 | {SWA.IMPLEMENTATION,Done}
341.63 | {SWA.IMPLEMENTATION}
49.25 | {SWA.IMPLEMENTATION,Running}
(4 rows)
我的目标是将呈现“SWA.IMPLEMENTATION”的所有时间分组。所以这四行应该组合在一起。