使用Oracle SQL,我在名为OBJECT的表中有一列名为“ title”的字符串。单词之间用空格隔开。
我想写一个查询计数表中有多少个标题具有与其他标题相同的第一个单词。我想输出该单词,并以该单词FIRSTWORD WORD_COUNT开头的条目计数。例如
FIRSTWORD WORD_COUNT
Word1 23
Word2 15
我同时使用SUBSTR和INSTR来获取每个条目的第一个单词,并使用regexp_count来尝试计算出现的次数。到目前为止,我可以得到它输出第一个单词的列表,但是我的计数始终为0:
SELECT
(SUBSTR(title, 0, INSTR(title, ' ')-1)) AS FIRSTWORD,
(REGEXP_COUNT(title, INSTR(title, ' ')-1)) AS WORD COUNT
FROM OBJECT GROUP BY title;
一个子查询应该做的伎俩。
WITH firstwords AS (
SELECT (SUBSTR(OBJECT.title, 0, INSTR(OBJECT.title, ' ')-1)) AS WORD
FROM OBJECT)
SELECT word, count(word)
FROM firstwords
GROUP BY word;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句