0

我需要为每一行计算以“https://t.co/”开头的链接部分出现在名为“Tweet_text”的列的文本中的次数。

我已经搞定了:

SELECT COUNT(REGEXP_CONTAINS('https://t.co/', Tweet_text)) As Cnt
FROM `MyTable` 

但这会返回整个表的总计数,而不是逐行计数。

4

1 回答 1

0

你可以试试这个查询:

SELECT ARRAY_LENGTH(REGEXP_EXTRACT_ALL(Tweet_text, 'https://t.co/'))
FROM MyTable

该函数REGEXP_CONTAINS仅返回是否找到您的正则表达式的状态:

TRUE如果value是正则表达式的部分匹配,则返回regexp

如果要获取列中找到的子字符串的计数,则必须使用REGEXP_EXTRACT_ALLwith ARRAY_LENGTH

你得到每行的计数(不是总和),因为你不再使用聚合函数(如COUNT)。

于 2021-09-30T07:39:18.007 回答