一个关于特殊SQL语句的问题

eyes 小弟我遇到这样一个问题,在我们的数据中有这样的
一列数据
www.google.com.hk
www.google.com
www.baidu.com
www.baidu.com.cn
www.google.com.tw
wap.baidu.com
.................
现在又这样的需求,规定只要中间的字符串相等说明这两个域名相等。在这样的需求下统计出相等的域名出现的次数

例如www.google.com.hk==www.google.com==www.google.com.tw
www.baidu.com===www.baidu.com.cn==wap.baidu.com
根据上面的域名统计数google 域名出现了3次 baidu域名出现了3次。当然这个是用眼看出来的。
现在的就是如何用sql语句统计出。
注明:这个数据存储在ORACLE 数据库中。

3个回答

用ORACLE的正则表达式

select regexp_replace({字段名},'(.com.cn)$|(.com)$|(.com.tw)$|(.com.hk)$','') from {表名}

意思是把{字段}里的以{.com.cn},{.com},{.com.tw},{.com.hk}结尾的数据置空,

比如 www.gogo.com.cn 执行后就变成www.gogo

最后再统计处理后的数据

ORacle版本?

ORacle版本?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐