繁体   English   中英

查询删除前缀并删除重复项

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM