我想从url字段检索不同的域。这是我的table
url
id url
1 www.goal.com
2 www.goal.com/liverpool
3 www.mirror.com
4 www.mirror.com/i-want-cars
预期结果应为
id domain
1 goal
2 mirror
我该怎么做这就是我要做的,
SELECT DISTINCT (REPLACE(SUBSTRING_INDEX(REPLACE(url, 'www.', ''), '/', 3), 'http://', '')) AS domain,
url
FROM `url_tbl` ORDER BY `id` DESC
不适合我。
2条答案
按热度按时间afdcj2ne1#
根据手册,以下查询:
退货:
鉴于:
退货:
所以,如果总是有两个
.
在url内部,域名在它们之间,然后您可以使用:此处演示
zu0ti5jz2#
查询已更新,等待您的响应。
手动链接
注意如果你只想要唯一的
domainName
在结果集中,然后移除, 'url' as 'Real URL'
此部分来自查询。第二个图像是所需的输出。如果你的mysql服务器版本是8那么试试这个看到输出图像也希望这能解决你的问题。
你也可以来这里看看
上没有用于常规express的mysql
DEBUGGEX
所以正则表达式在单点转义上有细微的变化。debuggex演示