Regex 在配置单元中使用正则表达式获取匹配计数?

Regex 在配置单元中使用正则表达式获取匹配计数?,regex,hive,Regex,Hive,我想从基于正则表达式匹配的表中获取计数值。 例如,假设我想查找表中以结尾的所有字符串 /顶部和表中包含以下数据: id url 1 example.com/top 2 example.com/index.html 3 example2.com/top 以下查询似乎命中每一行,而不是仅命中两行: select sum(CASE WHEN url REGEXP '.*/top' THEN 1 ELSE 0 END) as topCount, sum(CASE WHEN u

我想从基于正则表达式匹配的表中获取计数值。 例如,假设我想查找表中以结尾的所有字符串 /顶部和表中包含以下数据:

id  url
1   example.com/top
2   example.com/index.html
3   example2.com/top
以下查询似乎命中每一行,而不是仅命中两行:

  select
  sum(CASE WHEN url REGEXP '.*/top' THEN 1 ELSE 0 END) as topCount,
  sum(CASE WHEN url REGEXP '.*/index.html' THEN 1 ELSE 0 END) as defaultCount
  from myTable

有什么建议吗?

您可以使用where中的条件


谢谢。我的版本有点过于简化,所以我添加了另一个专栏,我正试图得到它。
select count(*) from myTable where url REGEXP '.*/top$'