我有一个列包含许多URL的表,我想得到所有不同的主机名及其计数。
column_links
----------
http://abcd.com/efgh/ijk/lmn
http://qwer.com/qwqwq/qwq/wdsd
http://abcd.com/jhksdh/khsdh/khd
http://abcd.com/dsfsdh/khsdh/dsfsdf
http://qwer.com/ihwlidhw/ddsd/wqeqe应产
╔════╦══════════════════╦══════╗
║ ║ hostnames ║ 2 ║
╠════╬══════════════════╬══════╣
║ 1 ║ http://abcd.com ║ 3 ║
║ 2 ║ http://qwer.com ║ 2 ║
╚════╩══════════════════╩══════╝我不能编一个查询,我不擅长正则表达式
发布于 2016-12-22 15:05:42
INDEX()是一个字符串函数。,它完成了将URL编辑成主机名时所需的操作。这个查询应该对您有好处。(http://sqlfiddle.com/#!9/940481/1/0)
SELECT SUBSTRING_INDEX(column_links,'/',3) host,
COUNT(*) number
FROM links
GROUP BY SUBSTRING_INDEX(column_links,'/',3)https://stackoverflow.com/questions/41285874
复制相似问题