首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按数据中最短的公共后缀进行分组

问按数据中最短的公共后缀进行分组
EN

Stack Overflow用户
提问于 2014-08-27 15:06:10
回答 3查看 50关注 0票数 0

我有一个包含FQDN列表的表,例如:

代码语言:javascript
复制
www.bbc.co.uk
bbc.co.uk
bbc.com
www.bbc.com
www.live.bbc.co.uk
www.live.bbc.com

我想按域名对这些域名进行分组;不是完全域名,而是数据中存在的最短匹配域名。例如,在上面的示例中,我想将

代码语言:javascript
复制
www.bbc.co.uk
bbc.co.uk
www.live.bbc.co.uk

由于它们具有bbc.co.uk的共同“后缀”,所以它们一起使用。

这些都是域名的事实可能与此无关,但也可能在解决方案中发挥作用--有人能提出一种用最短的公共后缀将数据合并在一起的方法吗?

编辑:根据要求,作为输出,我最理想的愿望是:

代码语言:javascript
复制
Domain       Count
bbc.co.uk    3
bbc.com      3
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-27 17:57:51

我设法避开了这个问题:我在数据库中引入了一个临时的"MasterDomainName“字段,并且我用以下内容更新了它:

代码语言:javascript
复制
UPDATE r1
SET r1.MasterDomainName= r2.domainname
FROM @results r1
LEFT JOIN @results r2
ON r2.domainname = right(r1.domainname,len(r2.domainname))

这并不完美,但它让我接近了我需要去的地方。谢谢大家的意见。

票数 0
EN

Stack Overflow用户

发布于 2014-08-27 15:15:04

如果您不知道要在分组中添加多少后缀,这将很难。

也许您可以尝试按最后一个后缀(在最后一个点之后)进行分组。如果得到结果,则添加下一个后缀和组。如果你得到了结果,再加一个.

票数 1
EN

Stack Overflow用户

发布于 2014-08-27 17:09:59

如果首先使用nslookup将域类型转换为IP地址,则可以获得相同数量的点。Link

或者,存在具有已知域名列表的整个数据库。Link2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25530704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档