我有一个包含列名称消息的表,此列包含固定格式的值,如下所示。
格式: -
QU FRASELH .CPHBOSK LH/050840 COR MVT
我需要的是在第二个子字符串上计算基于group的消息数量(例如上面的FRASELH)
SELECT COUNT(*), ORIGIN_QUEUE
FROM info
where TIME_STAMP >='2016-10-05 00:00:00'and TIME_STAMP<= '2016-10-06 00:00:00'
group by (????)
提前致谢。
答案 0 :(得分:0)
@EmilHolub固定格式表示消息列的每个单元格中的值具有相同的格式。例如,一个单元格有4个值(第一个子字符串有2个字符_space_2nd子字符串有6个字符空间,依此类推)。现在这个格式对于消息列下的所有单元格都是固定的。
鉴于它应该足够:
SELECT substr(ORIGIN_QUEUE,4,6) COUNT(*),
FROM info
where TIME_STAMP >='2016-10-05 00:00:00'and TIME_STAMP<= '2016-10-06 00:00:00'
group by substr(ORIGIN_QUEUE,4,6)
它会根据ORIGIN_QUEUE字符串中的第4到第9个字符对值进行分组。