[英]Query for removing prefix and remove duplicates
我有一张桌子,如下所示:
uri | country
----------------------+--------
http://www.A.com | NL
http://www.A.com/sub | NL
https://www.B.com | NL
http://C.com | DL
我需要一个选择查询(包括正则表达式)来显示不带uri的不同行。
Desired outcome:
www.A.com NL
www.B.com NL
C.com DL
我尝试了这个 :
select distinct substring(uri from '(https?://([^/]*/){1,2})'),country from list;
但是正则表达式无法处理简单的域名,例如:www.A.com它仅适用于www.A.com/sub
任何想法?
之所以这样是因为([^/]*/)
正则表达式的这一部分要求您的文本以/
结尾。 查看您期望的结果,我认为您应该将正则表达式更改为https?://([^/]*).*
您可以通过以下方式实现:
select distinct substring(uri from '.*://([^/]*)' ),country from list;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.