我有一个MySQL表,其中包含一列格式正确的URL.我想获得列中唯一域名的表格,以及每个域名出现的次数.是否有可以执行此操作的MySQL查询?
我想做点什么......
SELECT COUNT(*)
FROM log
GROUP BY url REGEXP "/* regexp here */"
Run Code Online (Sandbox Code Playgroud)
...但这不起作用,因为REGEXP返回0或1而不是匹配的内容.
要返回某个域的计数:
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)