首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蜂箱中的计数标签

蜂箱中的计数标签
EN

Stack Overflow用户
提问于 2016-10-05 10:18:25
回答 1查看 148关注 0票数 0

我在单元格中有一个名为标记的列,它的数据如下:

代码语言:javascript
复制
tags-column  
c#  
C#,unix  
c++,templates,metaprogramming,debugging,  
c#,delegates,design,events  
unix,templates,events

如何计算每个标签的数量?

对于上面列的结果,我应该

代码语言:javascript
复制
c# 3  
unix 2  
templates 2  
metaprogramming 1  
debugging 1  
delegates 1  
design 1
events 2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-05 11:59:38

你在蜂巢中看到的LATERAL VIEW功能。

此特性拆分给定的列,并使用每个令牌创建多行。您需要应用GROUP BY子句来获取计数。

示例HQL (以下是区分大小写的,即c#与C#不相同):

代码语言:javascript
复制
SELECT 
  single_tag,
  count(1) as cnt
FROM 
  tags_table LATERAL VIEW explode(split(tags_column, ',')) tag_table AS single_tag
GROUP BY 
  single_tag
ORDER BY
  cnt;

要使其不区分大小写,可以使用lowerupper函数。例如:

代码语言:javascript
复制
SELECT 
  lower(single_tag), 
  count(1) as cnt
FROM 
  tags_table LATERAL VIEW explode(split(tags_column, ',')) tag_table AS single_tag
GROUP BY 
  lower(single_tag)
ORDER BY
  cnt;

使用splitString字段转换为Array<String>字段。

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

https://stackoverflow.com/questions/39871332

复制
相关文章

相似问题

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