我有一个包含20000行的表和一个名为XXX的列。 XXX中包含字符串(VARCHAR2)(包含多个单词的名称),我希望找到该名称中的第一个单词,如果出现超过30次,则显示查询。 例如,如果单词的第一个单词是 foo 并且它出现30次或 boo 出现40次,那么
Word Count
foo 30
boo 40
这个词可以是任何东西。唯一的条件是频率。我试图用INSTR解决它,但我无法得到它。
非常感谢您的帮助
答案 0 :(得分:0)
如果您的列值由分隔符分隔,例如','或'。'或空格,您可以通过查询使用组,如下所示
select count(*),substr(col,1,(instr(col,'.')-1) from tab group by substr(col,1,(instr(col,'.')-1) order by 2;
这可能会对您有所帮助REGEXP