sql- query查看其计数的URL的所有主机名

时间:2016-12-22 14:53:29

标签: mysql sql regex

我有一个包含许多网址的列表,我希望获得所有不同的主机名及其计数

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   ║
╚════╩══════════════════╩══════╝

我无法弥补查询,我不擅长正则表达式

1 个答案:

答案 0 :(得分:1)

SUBSTRING_INDEX() is a string function执行您在将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)