如何统计MySQL中的URL域?

isa*_*ani 2 regex mysql url

我有一个MySQL表,其中包含一列格式正确的URL.我想获得列中唯一域名的表格,以及每个域名出现的次数.是否有可以执行此操作的MySQL查询?

我想做点什么......

SELECT COUNT(*)
FROM log
GROUP BY url REGEXP "/* regexp here */"
Run Code Online (Sandbox Code Playgroud)

...但这不起作用,因为REGEXP返回0或1而不是匹配的内容.

Qua*_*noi 5

要返回某个域的计数:

SELECT  SUM(url REGEXP '^http://example.com')
FROM    log
Run Code Online (Sandbox Code Playgroud)

不幸的是,MySQL不会在regexp上返回匹配的字符串.

如果您的日志记录总是如此http://example.com/*,您可以发出:

SELECT  SUBSTRING_INDEX(url, '/', 3), COUNT(*)
FROM    log
GROUP BY
        1
Run Code Online (Sandbox Code Playgroud)