我有一个查询,我需要按可变长度字符串的子字符串分组。字符串是URL中的路径。例如,以下内容应分组在一起...


/ health / pushups /
/ health / pushups / 1
/ health / pushups / 1 /
健康/ pushups / 1
健康/保健
健康/ pushups / 1 /


其中1可以是最多30的任何整数。我希望所有这些都可以在GROUP BY函数中汇总到/ health / pushups /中。

有任何想法吗?

提前致谢!

最佳答案

嗯。 。 。因为开头是/,所以这很棘手。这应该工作:

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;

关于mysql - 在MySQL中按可变长度子字符串分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56526710/

10-11 04:03