我有一个查询,我需要按可变长度字符串的子字符串分组。字符串是URL中的路径。例如,以下内容应组合在一起...
其中1可以是最多30的任何整数。我希望所有这些都可以在GROUP BY函数中汇总到/ health / pushups /中。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
嗯。 。 。这很棘手,因为开头是/
。这应该起作用:
select (case when url like '/%'
then substring_index(url, '/', 3)
else concat('/', substring_index_url, '/', 2))
end) as grp,
count(*)
from t
group by grp;
答案 1 :(得分:0)
2个选项:
WHERE ( url LIKE '%health%' and url LIKE '%pushups%' )
或带有REGEXP_LIKE
WHERE REGEXP_LIKE(url,'^+health/pushups')>0